用递归实现快速排序
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main(){
srand(int (time(0)));
int a[100];
for(int i=0;i<100;++i){
a[i]=rand()%99+1;
}
void use(int a[],int,int);
use(a,0,99);
for(int i=0;i<100;++i){
cout<<a[i]<<" ";
}
return 0;
}
void use(int a[],int n,int m){
int turn(int a[],int,int);
int i;
if(m>n){
i=turn(a,n,m);
use(a,n,i-1);
use(a,i+1,m);
}
}
int turn(int a[],int n,int m){
int i=n,j=m,tmp=a[n];
for(;i!=j;){
for(;a[j]>=tmp&&j>i;--j);
a[i]=a[j];
for(;a[i]<=tmp&&i<j;++i);
a[j]=a[i];
}
a[i]=tmp;
return i;
}