快排。

来源:互联网 发布:淘宝账号被冻结会怎样 编辑:程序博客网 时间:2024/04/30 12:24
#include"stdio.h"
int quick_sort(int a[],int p,int r)  //将一个值设置成标致位。左边全小于,右边大于。
{
int i=p,j=r;
int key=a[i];
int temp;
for(;i<=j;){
while(i<=j){
if(key>a[j]){
temp = a[i];
a[i]=a[j];
a[j] = temp;
break;
}
j--;
}
while(i<=j){
if(key<a[i]){
temp = a[i];
a[i]=a[j];
a[j] = temp;
break;
}
i++;
}

}
return i;
}
void quick(int a[],int i,int j){
if(i<j){
int z = quick_sort(a,i,j);


quick(a,i,z);
quick(a,z+1,j);
}

}
int main(){
int i;
int a[7] ={1,2,3,4,5,6,2};
quick(a,0,6);
for(i=0;i<7;i++)
printf("%d  ",a[i]);
printf("\n");
}
0 0