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;
    }
    不为其他,只为快乐!
  • 相关阅读:
    如果你很忙,你一定在什么地方做错了!
    NOSQL介绍
    mysql 8.0.11 安装(windows)
    ORA-28547:(Navicat Premium连接oracle报错)
    线性筛法
    Luogu-P1020(导弹拦截)(DP,LIS ,二分优化)
    POJ
    HDU
    HDU-1024-Max Sum Plus Plus(DP)
    UVA-1625-Color Length(DP LCS变形)
  • 原文地址:https://www.cnblogs.com/1521299249study/p/11572831.html
Copyright © 2011-2022 走看看