最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用委托實(shí)現(xiàn)的快速排序算法實(shí)例

 更新時(shí)間:2015年07月03日 11:07:51   作者:不是JS  
這篇文章主要介紹了C#使用委托實(shí)現(xiàn)的快速排序算法,實(shí)例分析了C#委托機(jī)制與快速排序算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下

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

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#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

德庆县| 玛沁县| 弥勒县| 横山县| 敦化市| 九龙县| 格尔木市| 桃园市| 图们市| 龙泉市| 布拖县| 汉中市| 浮梁县| 隆德县| 达孜县| 宁强县| 惠来县| 崇州市| 奉节县| 五峰| 平南县| 望江县| 岐山县| 临武县| 乐东| 巴彦淖尔市| 通化县| 琼海市| 林口县| 文山县| 盐亭县| 和田市| 东光县| 德安县| 全州县| 泽普县| 法库县| 民县| 灌阳县| 达孜县| 会宁县|