题目
输入n个元素,使用快速排序从小到大排序。第一行输入n (1<=n<=100),第二行输入n个整数a (a<=100000)输出n个数从小到大依次输出,中间用空格隔开。
代码
#include<iostream>
using namespace std;
int a[10001];
void quick_Sort(int l,int r){
if(l<r){
int key = a[l];
int i=l ,j= r ;
while(i<j){
while(a[j]>=key) j--;
while(a[i]<=key) i++;
swap(a[i],a[j]);
}
swap(a[l],a[i]);
quick_Sort(l,i-1);
quick_Sort(i+1,r);
}
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
quick_Sort(0,n-1);
for(int i=0;i<n;i++) cout<<a[i]<<" ";
return 0;
}
救救孩子