快速排序的代码实现
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人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦