ITPub博客

首页 > 应用开发 > IT综合 > C#算法-------(四)快速排序 (转)

C#算法-------(四)快速排序 (转)

原创 IT综合 作者:worldblog 时间:2007-12-11 11:22:26 0 删除 编辑
C#算法-------(四)快速排序 (转)[@more@]

  前面我已经推出了三种排序的算法,比较简单。今天我又写了快速排序的算法。希望多多指教。具体的思想,我不做答了。前人的经验

using System;

namespace QuickSorter
{
 public class QuickSorter
 {
 private void Swap(ref int l,ref int r)
 {
 int s;
 s=l;
 l=r;
 r=s;
 }
 public void Sort(int [] list,int low,int high)
 {
 int pivot;
 int l,r;
 int mid;
 if(high<=low)
 return;
 else if(high==low+1)
 {
 if(list[low]>list[high])
 Swap(ref list[low],ref list[high]);
 return;
 }
 mid=(low+high)>>1;
 pivot=list[mid];
 Swap(ref list[low],ref list[mid]);
 l=low+1;
 r=high;
 do
 {
 while(l<=r&&list[l] l++;
 while(list[r]>=pivot)
 r--;
 if(l Swap(ref list[l],ref list[r]);
 }while(l list[low]=list[r];
 list[r]=pivot;
 if(low+1 Sort(list,low,r-1);
 if(r+1 Sort(list,r+1,high);
 }
 }
 public class MainClass
 {
 public static void Main()
 {
 int[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};
 QuickSorter q=new QuickSorter();
 q.Sort(iArrary,0,13);
 for(int m=0;m<=13;m++)
 Console.WriteLine("{0}",iArrary[m]); 
 }
 }

}
已经编译通过,运行环境:windows  xp  VC#.NET 7.0

作者:Mailto:solarsoft@163.com">顾剑辉


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-991263/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2405144