题目描述
对数组的元素按从小到大进行排序
输入格式
有两行 第一行有一个整数n( 5 <= n <= 10 ) 第二行有n个整数
输出格式
输出更新后的数组
样例输入
8
1 2 3 6 8 7 4 5
样例输出
1 2 3 4 5 6 7 8
AC代码
#include<bits/stdc++.h>
using namespace std;
int a[1001];
void kp(int i,int j){
if(i>=j) return;
int l=i,r=j;
while(l<r){
while(a[r]>=a[i]&&r>l) r--;
while(a[l]<=a[i]&&r>l) l++;
swap(a[r],a[l]);
}
swap(a[i],a[l]);
kp(i,l-1);
kp(l+1,j);
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
kp(1,n);
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}