C#算法 快速排序

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]<pivot) 
   l++; 
   while(list[r]>=pivot) 
   r--; 
   if(l<r) 
   Swap(ref list[l],ref list[r]); 
   }while(l<r); 
   list[low]=list[r]; 
   list[r]=pivot; 
   if(low+1<r) 
   Sort(list,low,r-1); 
   if(r+1<high) 
   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]); 
   } 
   } 
   
  } 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值