#include <stdio.h>
/*
*speed sort
*author @ suilingxi
*2014-1-15
*/
void speed_sort(int * array , int high ,int low){
/* record the position of the array we want to sort */
int i=low;
int j=high;
int temp=0;
/* take the lowest number as the object we want to sort*/
if(low<high){
temp=*(array+low);
/*find the position we want to insert*/
while(i!=j){
while((j>i)&&(*(array+j)>temp)){
j--;
}
if(j>i){
*(array+i)=*(array+j);
i++;
}
while((j>i)&&(*(array+i)<temp)){
i++;
}
if(i<j){
*(array+j)=*(array+i);
j--;
}
}
*(array+i)=temp;
speed_sort(array,i-1,low);
speed_sort(array,high,i+1);
}
}
int main(){
int array[10];
printf("please enter the array of number:\n");
for(int i=0;i<10;i++){
scanf("%d",&array[i]);
}
speed_sort(array,9,0);
for(int i=0;i<10;i++){
printf("%d ",array[i]);
}
return 0;
}
快速排序
最新推荐文章于 2021-11-19 16:57:43 发布