#include <iostream>
#include <limits>
#include<stdlib.h>
using namespace std;
void swap(int *A,int i,int j){
int temp;
temp = A[i];
A[i] = A[j];
A[j]=temp;
}
//快速排序
int partion(int A[],int len,int start,int end){
int random = rand()%(end-start+1)+start;//随机下标
//交换
swap(A,random,end);
int small = start-1;//指向小的值
for(int index=start;index<end;index++){
if(A[index]<A[end]){
++small;
if(index!=small){
swap(A,small,index);
}
}
}
++small;
swap(A,small,end);
return small;
}
void qsort(int A[],int len,int start,int end){
if(start == end)
return;
int mid = partion(A,len,start,end);
if(start<mid)
qsort(A,len,start,mid-1);
if(end>mid)
qsort(A,len,mid+1,end);
return;
}
void qSort(int A[],int len){
if(A==NULL||len<=0)
return;
qsort(A,len,0,len-1);
return;
}
int main(int argc, char** argv) {
int A[9];
A[0]=0;
A[1]=3;
A[2]=4;
A[3]=-1;
A[4]=9;
A[5]=7;
A[6]=8;
A[7]=8;
A[8]=80;
A[9]=-90;
qSort(A,10);
for(int i = 0;i<10;i++){
cout<<A[i]<<",";
}
cout<<endl;
return 0;
}