算法:快速排序(快速排序其实有很多种不同写法和代码形式)

来源:互联网 发布:万网域名证书在线生成 编辑:程序博客网 时间:2024/05/03 19:59
void QuickSort(int a[],int left,int right){//ij同左出发法。     if(left<right){//同样是结合了partition和Sort。     int temp = a[left];//也是选择左一为基准数。         int i = left;    //i从左一开始         for(int j = left + 1;j<=right;j++){//j从左一加一开始。          if(a[j]<temp){//小于等于或者小于都可以 。     i++;    int m =a[i];//交换     a[i] = a[j];    a[j] = m;}}    int b = a[i];//交换     a[i]=temp;    a[left] = b;    QuickSort(a,left,i-1);//递归左 ;     QuickSort(a,i+1,right);//递归右 ; }} //总结:最后基准数所在都为迟出发的那个游标的下标。 (需证) 

原创粉丝点击