//快速排序
#include <cstdio>
int Partition(int A[],int low,int high){
int pivot = A[low];
while(low<high){
while(low<high&&A[high]>=pivot) --high;
A[low] = A[high];
while(low<high&&A[low]<=pivot) ++low;
A[high] = A[low];
}
A[low] = pivot;
return low;
}
void QuickSort(int A[],int low,int high){
if(low<high){
int pivotpos = Partition(A,low,high); //划分操作
QuickSort(A,low,pivotpos-1);
QuickSort(A,pivotpos+1,high);
}
}
void PrintList(int A[]){
for(int i=0;i<13;i++){
printf("%d ",A[i]);
}
printf("\n");
}
int main(){
int A[13]={54,32,5,6,88,56,4,1,53,5,645,7,43} ;
PrintList(A);
QuickSort(A,0,12);
PrintList(A);
return 0;
}
快速排序(C++)
最新推荐文章于 2024-07-24 08:30:00 发布