//只适合于已知长度的数据
#include<stdio.h>
void printArray(int array[],int length){
int i;
for(i=0;i<length;i++){
printf("%d ",array[i]);
}
printf("\n");
}
int partition(int array[],int i,int j){
int x=array[i];
while(i<j){
while(i<j&&array[j]>=x){
j--;
}
if(i<j){
array[i]=array[j];
i++;
}
while(i<j&&array[i]<x){
i++;
}
if(i<j){
array[j]=array[i];
j--;
}
array[i]=x;
return i;
}
}
void quicksort(int array[],int i,int j){
if(i<j){
int index=partition(array,i,j);
printArray(array,8);
quicksort(array,i,index-1);
quicksort(array,index+1,j);
}
}
int main(){
int array[8]={27,38,13,49,76,97,65,49};
quicksort(array,0,7);
printArray(array,8);
return 0;
}
快速排序代码实现
最新推荐文章于 2025-09-13 16:28:12 发布