#include<iostream>
using namespace std;
int arr[5] = {5,4,1,3,6}; //待排序数组
void quick_sort(int left,int right){
int tmp = arr[left]; //找基准
if(left>=right){ //如果左边扫描大于右边扫描就结束
return;
}
int i = left; //从左边扫描
int j = right; //从右边扫描
while(i<j){
while(i<j&&arr[j]>=tmp){
j--;
}
arr[i] = arr[j]; //先右边扫描 扫描到符合条件的数就把他给基准
while(i<j&&arr[i]<=tmp){
i++;
}
arr[j] = arr[i]; //然后左边扫描扫描到符合条件的数给刚才的右边的数 也就是交换
}
arr[i] = tmp; //再把基准给左边交换过的那个数
quick_sort(left,i-1); //左边扫描
quick_sort(i+1,right); //右边扫描
}
int main()
{
quick_sort(0,4);
for(int i=0;i<5;i++){
printf("%d ",arr[i]);
}
return 0;
}