zoukankan      html  css  js  c++  java
  • c++:快速排序(一)

    典型快速排序:二分---递归调用
    #include <iostream>
    #include <QList>
    #include <QDebug>
    using namespace std;
    void qucikSort(QList<int> &list, int start, int end);
    int pascOrder(QList<int> &list,int start,int end);
    int main()
    {
        QList<int> numList;
        numList.push_back(3);
        numList.push_back(5);
        numList.push_back(1);
        numList.push_back(2);
        numList.push_back(10);
        numList.push_back(8);
        numList.push_back(6);
        numList.push_back(7);
        numList.push_back(0);
        numList.push_back(14);
        numList.push_back(9);
        numList.push_back(11);
        numList.push_back(12);
        qucikSort(numList,0,numList.count()-1);
        qDebug()<<numList;
    }
    void qucikSort(QList<int> &list,int start,int end)
    {
        int index;
        if(start < end)
        {
           index = pascOrder(list, start, end);
           qucikSort(list, start, index - 1);
           qucikSort(list, index+1, end);
        }
    }
    int pascOrder(QList<int> &list, int start, int end)
    {
        int info = list[start];
        int left = start;
        int right = end;
        while(left < right)
        {
            while(left < right && list[right]>info)
            {
                --right;
            }
            list[left] = list[right];
    
    
            while(left<right  && list[left]<info)
            {
                ++left;
            }
            list[right] = list[left];
        }
        list[left] = info;
        return left;
    }
    不为其他,只为快乐!
  • 相关阅读:
    [纯奇技淫巧] 特征根
    杂题20200528
    杂题20200509
    杂题20200419
    杂题20200415
    杂题20200407
    杂题20200314
    Educational Codeforces Round 83 简要题解
    一种简单的dp trick
    杂题20200304
  • 原文地址:https://www.cnblogs.com/1521299249study/p/11572831.html
Copyright © 2011-2022 走看看