将代码过程比较常用的一些代码片段备份一下,如下的代码内容是关于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); } }
}