zoukankan      html  css  js  c++  java
  • quickSort

    #include<stdio.h>
    #include<string.h>
    #define DEBUG ({for(k = l ; k <= r; k++) printf("%d  ", s[k]);printf("
    ");})
    void quickSort(int s[], int l, int r)
    {
        int i, j, x;
        int k;
        DEBUG;
        if (l < r)
        {
            i = l; j = r; x = s[i];
            
            while (i < j)
            {
                while(i < j && s[j] > x) j--; /* 从右向左找第一个小于x的数 */
                if(i < j)
                {
                    printf("%d <--- %d
    ", s[i], s[j]);
                    s[i++] = s[j];
                }
                while(i < j && s[i] < x) i++; /* 从左向右找第一个大于x的数 */
                if(i < j)
                {
                    printf("%d ---> %d
    ", s[i], s[j]);
                    s[j--] = s[i];
                }    
            }
            printf("s[%d]%d <--- %d
    ",i, s[i], x);
            s[i] = x;
            DEBUG;printf("
    ");
            quickSort(s, l, i - 1);
            quickSort(s, i + 1, r);
        }
    }
    
    int main(void )
    {
        int i;
        int aa[] = {4,1,5,2,6,3,9,8,7,0};
        quickSort(aa, 0, 9);
        return 0;
    }

    程序执行结果如下:

  • 相关阅读:
    Pycharm5注册方式
    五、监听共享目录文件
    三、python webservice
    二、Python安装扩展库
    一、Python安装下载
    test
    拖延
    要乐观对待生活
    乞讨者
    不要总是指责和埋怨
  • 原文地址:https://www.cnblogs.com/to7str/p/3244763.html
Copyright © 2011-2022 走看看