| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
Blake36Q
10年前发布

C#快速排序法字符串数组

class Quicksort {      private void quickSwap(string[] Array, int Left, int Right)       {          string Temp = Array[Right];          Array[Right] = Array[Left];          Array[Left] = Temp;      }        public void quickSort(string[] Array, int Left, int Right)       {          int LHold = Left;          int RHold = Right;          Random ObjRan = new Random();          int Pivot = ObjRan.Next(Left, Right);          quickSwap(Array, Pivot, Left);          Pivot = Left;          Left++;            while (Right >= Left)           {              int cmpLeftVal = Array[Left].CompareTo(Array[Pivot]);              int cmpRightVal = Array[Right].CompareTo(Array[Pivot]);                if ((cmpLeftVal >= 0) && (cmpRightVal < 0))              {                  quickSwap(Array, Left, Right);              }              else               {                  if (cmpLeftVal >= 0)                  {                      Right--;                  }                  else                   {                      if (cmpRightVal < 0)                      {                          Left++;                      }                      else                       {                          Right--;                          Left++;                      }                  }              }          }                 quickSwap(Array, Pivot, Right);          Pivot = Right;            if (Pivot > LHold)          {              quickSort(Array, LHold, Pivot);          }          if (RHold > Pivot + 1)          {              quickSort(Array, Pivot + 1, RHold);          }      }  }

快速排序简介:

快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。