您的位置:首页 > 编程语言

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

2017-11-19 09:17 344 查看
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);//递归右 ;
}
} //总结:最后基准数所在都为迟出发的那个游标的下标。 (需证)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐