他娘的快排

来源:互联网 发布:zbrush for mac 编辑:程序博客网 时间:2024/03/29 12:39
#include <stdio.h>#include <stdlib.h>void quick_sort(int a[],int l,int r){    int key = a[l];//这里不要忘记!!!是a[l]    int i = l,j = r;    if(l>=r)        return;    while(i<j){        while(i<j&&a[j]>=key)//从数组的最右边开始遍历,一直到比右边数小于key为止            j--;        a[i] = a[j];//小于key的话要放左边,那就是左边第一个了        while(i<j&&a[i]<=key)            i++;        a[j] = a[i];    }    a[i] = key;    quick_sort(a,l,i-1);    quick_sort(a,i+1,r);}//大while里面的两个while顺序不能颠倒,如果i++放前面如果第一个就是最大的那第二个while根本都进不去int main(){    int a[6];    int i;    for(i=0;i<6;i++)        scanf("%d",&a[i]);    quick_sort(a,0,5);    for(i=0;i<6;i++)        printf("%d ",a[i]);    return 0;}

去他娘的

0 0