zoukankan      html  css  js  c++  java
  • 快速排序

    void QuickSort(int nLow, int nHigh)
    {
        int s = nLow;
        int e = nHigh;
        int nPivot = nLow;
    
        if (s >= e)
        {
            return;
        }
    
        while (1)
        {
            while (g_szArray[nLow] <= g_szArray[nPivot] && nLow <= e)
            {
                nLow++;
            }
    
            while (g_szArray[nHigh] > g_szArray[nPivot] && nHigh >= s)
            {
                nHigh--;
            }
    
            if (nLow > nHigh)
            {
                break;
            }
            else
            {
                g_szArray[nLow] = g_szArray[nLow] + g_szArray[nHigh];
                g_szArray[nHigh] = g_szArray[nLow] - g_szArray[nHigh];
                g_szArray[nLow] = g_szArray[nLow] - g_szArray[nHigh];
                nLow++;
                nHigh--;
            }
        }
        /*g_szArray[nHigh] = g_szArray[nPivot] + g_szArray[nHigh];
        g_szArray[nPivot] = g_szArray[nHigh] - g_szArray[nPivot];
        g_szArray[nHigh] = g_szArray[nHigh] - g_szArray[nPivot];*/
    
        int nTmp = g_szArray[nHigh];
        g_szArray[nHigh] = g_szArray[nPivot];
        g_szArray[nPivot] = nTmp;
        QuickSort(nLow, e);
        QuickSort(s, nLow - 1);
    }
    
    void main()
    {
        int nLen = sizeof(g_szArray) / sizeof(g_szArray[0]);
        QuickSort(0, nLen - 1);
    
        for (int i = 0; i < nLen; i++)
        {
            printf("%d ", g_szArray[i]);
        }
        printf("
    ");
        system("pause");
    }
  • 相关阅读:
    使用KNN算法手写体识别
    os内置模块
    python步长为负时的情况
    qplot()函数的详细用法
    python文件I/O
    python中 @property
    python中定制类
    python中多重继承与获取对象
    python继承,判断类型,多态
    python中访问限制
  • 原文地址:https://www.cnblogs.com/predator-wang/p/11925654.html
Copyright © 2011-2022 走看看