快速排序的代码实现
include<iostream>using namespace std;
int num[100] = { 0 };
int partion(int low, int high){
int key = num[low];
while (low < high){
while (low < high && num[high] >= key)--high;
num[low] = num[high];
while (low < high && num[low] <= key)++low;
num[high] = num[low];
}
num[low] = key;
return low;
}
void qsort(int low, int high){
if (low < high){
int p = partion(low, high);
qsort(low, p - 1);
qsort(p + 1, high);
}
}
int main(){
int n;
int i;
while (cin >> n){
for (i = 0; i < n; i++){
cin >> num[i];
}
qsort(0, n - 1);
for (i = 0; i < n; i++){
cout << num[i] << " ";
}
cout << endl;
}
return 0;
}
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦