所谓快速排序,就是指的是将数据分成两部分,一部分是大于它,另一部分小于它,学习资料取自慕课网
int partition(int arr[],int l,int r){
int v=arr[l];
int j=l;
for(int i=l+1;i<=r;i++){
if(arr[i]<v){
swap(arr[j+1],arr[i]);
j++
}
}
swap(arr[l],arr[j]);
return j;
}
void __quicksort(int arr[],int l,int r){
if(l>=r)
return;
int p=partition(arr,l,r);
__quicksort(arr,l,p-1);
__quicksort(arr,p+1,r);
}
void quicksort(int arr[],int n){
__quicksort(arr,0,n-1);
}
int main(){
int a[10]={10,9,8,7,6,5,4,3,2,1};
quicksort(a,10);
for(int i=0;i<10;i++){
count<<a[i]<<"";
}
count<<endl;
return 0;
}
这样就可以实现了快速排序的方式