成人免费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-23 13:22:25

VB.NET實現拖動圖

2009-10-15 11:11:08

VB.NET Text

2009-10-10 16:44:52

VB.NET開發控件

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-14 11:15:06

VB.NET Grou

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技術棧公眾號

主站蜘蛛池模板: 国产一级片一区二区 | 成人精品国产一区二区4080 | 久久综合久久综合久久 | 成年网站在线观看 | 黄色成人亚洲 | 国产精品久久久久久久久久久久 | 国产午夜精品视频 | 欧美色性 | 久久精品天堂 | 精品免费国产一区二区三区 | 一区二区三区韩国 | 日日夜夜精品 | 久久精品国产一区二区三区 | 能看的av | 亚洲精品乱码久久久久久按摩观 | 亚洲视频在线观看 | 欧美在线视频一区 | 欧美日韩高清一区二区三区 | 精品九九九 | 免费亚洲成人 | 国产精品久久久久久久久久久久午夜片 | 国产激情在线看 | 国产一区二区三区在线 | 久久青视频 | 91精产国品一二三区 | 一级在线观看 | 国产中文字幕网 | 999久久久 | 青青激情网 | 欧美日韩亚 | 中文字幕在线视频精品 | 日韩欧美三级 | 有码一区 | 欧美在线一区二区三区 | 亚洲影音先锋 | 成人不卡| 一区二区三区四区不卡 | 欧美日韩免费一区二区三区 | 国产成人精品久久二区二区91 | 欧美日韩精品一区二区三区四区 | 国产成人一区在线 |