成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

講述VB.NET QuickSort函數

開發 后端
這里介紹VB.NET QuickSort函數,包括介紹調用 Partition() 函數將數組分成兩部分,其中一部分包含 Pivot 值之前的所有字符串,另一部分包含 Pivot 值之后的所有字符串。然后,它調用自身來對每個部分進行排序。

VB.NET經過長時間的發展,很多用戶都很了解VB.NET QuickSort函數了,這里我發表一下個人理解,和大家討論討論。首先創建一個函數來在字符串數組中運行VB.NET QuickSort函數。我們將此函數放到應用程序類 QuickSortApp 之中。

修改源代碼

更改 C# 源文件 (class1.cs),如下面以斜體突出顯示的 代碼所示。其他的差異(如類名)可忽略不計。

  1. // Import namespaces  
  2. using System;  
  3. using System.Collections;  
  4. using System.IO;  
  5. // Declare namespace  
  6. namespace MsdnAA  
  7. {  
  8.     // Declare application class  
  9.     class QuickSortApp  
  10.     {  
  11.         // Application initialization  
  12.         static void Main (string[] szArgs)  
  13.         {  
  14.             ... ... ...  
  15.             // Pass to QuickSort function  
  16.             QuickSort (szContents, 0, szContents.Count - 1);  
  17.             ... ... ...  
  18.         }  
  19.         // QuickSort implementation  
  20.         static void QuickSort (ArrayList szArray, int nLower, int nUpper)  
  21.         {  
  22.             // Check for non-base case  
  23.             if (nLower < nUpper)  
  24.             {  
  25.                 // Split and sort partitions  
  26.                 int nSplit = Partition (szArray, nLower, nUpper);  
  27.                 QuickSort (szArray, nLower, nSplit - 1);  
  28.                 QuickSort (szArray, nSplit + 1, nUpper);  
  29.             }  
  30.         }  
  31.         // QuickSort partition implementation  
  32.         static int Partition (ArrayList szArray, int nLower, int nUpper)  
  33.         {  
  34.             // Pivot with first element  
  35.             int nLeft = nLower + 1;  
  36.             string szPivot = (string) szArray[nLower];  
  37.             int nRight = nUpper;  
  38.             // Partition array elements  
  39.             string szSwap;  
  40.             while (nLeft <= nRight)  
  41.             {  
  42.                 // Find item out of place  
  43.                 while (nLeft <= nRight)  
  44.                 {  
  45.                     if (((string) szArray[nLeft]).CompareTo (szPivot) > 0)  
  46.                         break;  
  47.                     nLeftnLeft = nLeft + 1;  
  48.                 }  
  49.                 while (nLeft <= nRight)  
  50.                 {  
  51.                     if (((string) szArray[nRight]).CompareTo (szPivot) <= 0)  
  52.                         break;  
  53.                     nRightnRight = nRight - 1;  
  54.                 }  
  55.                 // Swap values if necessary  
  56.                 if (nLeft < nRight)  
  57.                 {  
  58.                     szSwap = (string) szArray[nLeft];  
  59.                     szArray[nLeft] = szArray[nRight];  
  60.                     szArray[nRight] = szSwap;  
  61.                     nLeftnLeft = nLeft + 1;  
  62.                     nRightnRight = nRight - 1;  
  63.                 }  
  64.             }  
  65.             // Move pivot element  
  66.             szSwap = (string) szArray[nLower];  
  67.             szArray[nLower] = szArray[nRight];  
  68.             szArray[nRight] = szSwap;  
  69.             return nRight;  
  70.         }  
  71.     }  
  72. }  

VB.NET QuickSort函數

這個函數需要三個參數:對數組的引用、下界和上界。它調用 Partition() 函數將數組分成兩部分,其中一部分包含 Pivot 值之前的所有字符串,另一部分包含 Pivot 值之后的所有字符串。然后,它調用自身來對每個部分進行排序。

上面修改中的注釋應該說明了每個代碼塊的作用。唯一的新概念就是 CompareTo() 方法的使用,該方法是 String 類的成員,并且應該是自說明的。

運行 QuickSort 應用程序

這一步完成 QuickSort C# 示例應用程序。現在,可以構建項目并運行應用程序。需要提供一個示例文本文件,以供其進行排序。將該文件放在與 EXE 文件相同的目錄中。

QuickSort C# 示例應用程序


程序輸出

下面是已完成的 QuickSort C# .NET 示例應用程序的輸出。

QuickSort C# .NET 示例應用程序

【編輯推薦】

  1. 分析VB QuickSort應用程序
  2. 如何掌握強大的VB.NET ReadLine()方法
  3. 講述強大的VB.NET Web Forms,使用起來卻如此簡單
  4. 兩步就可以掌握VB使用ArrayList類
  5. VB.NET應用程序的入門指南
責任編輯:佚名 來源: cnbeta
相關推薦

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-16 13:26:53

VB.NET Exce

2009-10-13 17:03:55

VB.NET面向對象

2009-10-16 09:35:24

VB.NET制作透明窗

2009-11-02 15:45:03

VB.NET IEnu

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-19 08:55:22

VB.NET多重繼承

2009-10-15 11:11:08

VB.NET Text

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-14 11:15:06

VB.NET Grou

2009-10-23 13:22:25

VB.NET實現拖動圖

2009-10-10 16:44:52

VB.NET開發控件

2009-10-27 11:39:03

VB.NET事件處理程

2009-10-26 18:11:47

VB.NET調用Exc

2009-10-21 18:28:48

VB.NET表間拖放

2009-10-29 09:57:16

VB.NET實現數據綁

2009-10-22 09:20:46

VB.NET Proc

2009-10-26 19:22:29

VB.NET使用Log

2009-11-03 17:31:01

VB.NET窗體

2010-01-15 13:30:50

VB.NET Prog
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩中文在线观看 | 亚洲二区视频 | 国产成人一区在线 | 91久久久久久 | 国产精品福利久久久 | 欧美一区二区三区在线观看 | 日韩欧美综合在线视频 | 色www精品视频在线观看 | aaaaaaa片毛片免费观看 | 精品视频在线观看 | 亚洲一区二区三区四区在线观看 | 97av在线| 日韩视频在线观看一区二区 | 日本成人在线播放 | 久久久久国产一区二区三区四区 | 国产精品永久 | 欧美 日韩 国产 成人 在线 | 国产欧美一级二级三级在线视频 | 一级美国黄色片 | 能看的av | 国产精品777一区二区 | 成人在线欧美 | 在线视频91 | 亚洲视频免费在线观看 | 黄网站免费在线看 | 91原创视频 | av在线电影网站 | 精品视频一区二区三区在线观看 | 天天操天天摸天天干 | av黄色在线播放 | 久久综合一区 | 国产1区| 超碰导航 | 免费在线看黄 | 欧美日高清 | 荷兰欧美一级毛片 | 国产综合精品 | 欧美黑人又粗大 | 91精品国产一区二区三区 | 在线观看国产h | 中文字幕一区二区三区四区 |