#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
void quickSort(int arr[], int low, int high){
if(low>=high)
return;
int key = arr[low];
int left = low;
int right = high;
while(low<high){
while(arr[high]>=key && low < high){
high--;
}
if(arr[high]<key){
arr[low]=arr[high];
}
while(arr[low]<key && low<high){
low++;
}
if(arr[low]>=key){
arr[high]=arr[low];
}
}
arr[low]=key;
static int count = 0;
for(int i = 0;i!=6;i++){
cout<<arr[i];
}
cout<<" "<<count++<<endl;
quickSort(arr, left, low-1);
quickSort(arr, low+1, right);
}
int main(){
int array[]={6,4,1,8,7,5};
int len = sizeof(array)/sizeof(int);
cout<<"len="<<len<<endl;
quickSort(array, 0, len-1);
return 0;
}
输出:
(base) ➜ SORT ./Quick
len=6
541678 0
145678 1
145678 2
145678 3