#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
void swap (int *array,int p,int j){
int temp=array[p];
array[p]=array[j];
array[j]=temp;
}
int partion(int *array,int l,int r,int pivot){
do{
while(array[++l]<pivot);
while(r>l && array[--r]>pivot);
swap(array,l, r);
}while(r>l);
return l;
}
void quickSort(int *array,int i,int j){
if(i>=j)
return ;
int pivotIndex=(i+j)/2;
swap(array,pivotIndex,j);
int k=partion(array,i-1,j,array[j]);
swap(array,k,j);
quickSort(array,i,k-1);
quickSort(array,k+1,j);
}
void QuickSort(int *array,int n){
quickSort(array,0,n-1);
}
#define N 100000000
int main(){
int *array=new int[N];
int value=N;
for(int i=0;i<N;i++){
array[i]=value--;
}
QuickSort(array,N);
cout<<"OK\n";
cout<<endl;
return 0;
}
C++ 实现快速排序(quick sort)
最新推荐文章于 2023-11-19 22:09:46 发布