注册 登录
编程论坛 C++教室

目前最快的排序算法,高手无视

pywepe 发布于 2009-09-17 10:37, 11888 次点击
快速排序法

程序代码:
void quickSort(int[] num,int left ,int right){

   if(left<right){
     int s=num[(left+rihgt)/2]; //把中间的这个数当作轴
     int i=left-1;
     int j=right+1;
     while(true){
        while(num[++i]<s);      //i从左到右,直到找到第一个不小于s的数
        while(num[--j]>s);      //j从右到左,直到找到第一个不大于s的数

        int tmp=a[i];         //交换i j指向的数
        a[i]=a[j];
        a[j]=tmp;

      }  //经过上面的交换,数组的情况是以一个数为中心,左边都是比它小的数,右边都是比它大的数

      quickSort(num,left,i-1); //递归左边  
      quickSort(num,j+1,right);//递归右边
   }
}

5 回复
#2
flyingcloude2009-09-17 11:52
快排不是目前最快的排序算法。
#3
BlueGuy2009-09-17 11:54
基于比较的排序算法   快速排序可以说是最快的
这个可以用  决策树来证明
#4
步兵2009-09-17 13:16
快速排序,正在考江苏计算机三级刚刚复习过这个
#5
choco10242009-09-17 23:29
如果用STL的编程方法,根本就不用写那算法,调用函数直接就排好序了。
#6
pywepe2009-09-19 10:36
回复 5楼 choco1024
算法思想要懂才是学这专业的

1