#include <iostream>
using namespace std;
void QuickSort(int a[],int begin,int end){
if(begin<end){
int pivot=a[begin];
int l=begin;
int r=end;
while(l<r){//快速排序算法思想,最右边小于pivot则把他放入a[l],然后l++,同理右侧也一样
while(l<r&&pivot<a[r]){
r--;
}
a[l]=a[r];
while(l<r&&pivot>=a[l]){
l++;
}
a[r]=a[l];
}
a[l]=pivot;//把pivot放入左右两个数组的中间位置
QuickSort(a,begin,l-1);//递归排序左边的
QuickSort(a,l+1,end);//递归排序右边的
}
else
return;
}
int main(){
int a[6]={5,8,6,1,4,2};
QuickSort(a,0,5);
for(int i=0;i<6;i++){
cout<<a[i]<<" ";
}
return 0;
}
算法很简单,不赘述,如果有疑问可以留言!