#include<iostream>
#define N 50//宏定义数组的大小
using namespace std;
int main(){
int a[N];
int n;
cin>>n;
a[0]=0;//设置标志栈,此处以9为分界线
for(int i = 1;i<=n;i++){
cin>>a[i];
}//存入n个数据
int low = 1,heigh = n,temp;//初始化两端的变量
while(low<heigh){
while(a[heigh]>a[0])--heigh;//数组从后往前,找到第一个比0小的数字
while(a[low]<a[0])++low;//数组从前往后找到第一个比0大的数字
temp = a[low];//对找到的两个数字进行交换
a[low] = a[heigh];
a[heigh] = temp;
}//while
for(int j =1 ;j<=n;j++){
cout<<a[j]<<" ";
}
cout<<endl;
return 0;
}
快速排序
最新推荐文章于 2024-07-17 10:35:12 发布