国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用委托實現的快速排序算法實例

2020-01-24 01:39:29
字體:
來源:轉載
供稿:網友

本文實例講述了C#使用委托實現的快速排序算法。分享給大家供大家參考。具體如下:

class QuickSort {  private delegate int CmpOp(object Left, object Right);  private void swap(object[] Array, int Left, int Right, CmpOp Cmp) {   object tempObj = Array[Left];    Array[Left] = Array[Right];    Array[Right] = tempObj;  }  private int CmpInt(object Left, object Right) {   if ((int) Left < (int) Right)    return -1;   else    return -2;  }  public QuickSort(object[] Array) {   CmpOp Cmp = new CmpOp(CmpInt);   Sort(Array, 0, Array.Length-1, Cmp);     }  private void Sort(object[] Array, int Left, int Right, CmpOp Cmp) {  int LHold = Left;   int RHold = Right;   Random ObjRan = new Random();   int Pivot = ObjRan.Next(Left,Right);   swap(Array, Pivot, Left, Cmp);   Pivot = Left;   Left++;   while (Right >= Left) {    if (Cmp(Array[Left], Array[Pivot])!= -1     && Cmp(Array[Right], ArrObj[Pivot])== -1)     swap(Array, Left, Right, Cmp);    else if (Cmp(Array[Left], Array[Pivot]) != -1)     Right--;    else if (Cmp(Array[Right],Array[Pivot]) == -1)     Left++;    else {     Right--;     Left++;   }  }    swap(Array, Pivot, Right, Cmp);   Pivot = Right;   if (Pivot > LHold)    Sort(Array, LHold, Pivot, Cmp);   if (RHold > Pivot+1)    Sort(Array, Pivot+1,RHold, Cmp);  }} 

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰宁县| 霍城县| 怀远县| 茂名市| 新建县| 长顺县| 重庆市| 清流县| 乌拉特前旗| 庄河市| 长丰县| 孟津县| 大冶市| 大荔县| 宾川县| 黄陵县| 睢宁县| 黔南| 资兴市| 蕉岭县| 宝应县| 久治县| 云安县| 哈巴河县| 宁南县| 武威市| 阿拉善左旗| 铅山县| 五河县| 永济市| 永德县| 甘德县| 砚山县| 南通市| 运城市| 内乡县| 墨脱县| 泰顺县| 英德市| 嵩明县| 礼泉县|