算法
代码
#include<iostream>
using namespace std;
//数组两边都是闭区间,从0开始,最后一位结束。
void csort(int* start,int* end){
if(start>=end)
return;
int temp =*start;
int* p=start;
int* q=end;
while(1){
while(p<q && *q>=temp)
q--;
if(p==q) break;
*p = *q;
++p;
while(p<q && *p<temp)
p++;
if(p==q)
break;
*q-- = *p;
}
*p =temp;
csort(start,q-1);
csort(q+1,end);
}
void print(int* data,int n){
for(int i=0;i<n;i++)
cout<<data[i]<<" ";
cout<<endl;
}
int main(){
int a[]=
csort(a,a+sizeof(a)/sizeof(int)-1);
print(a,sizeof(a)/sizeof(int));
return 0;
}