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


    //快速排序
    #include "stdafx.h"
    using namespace std;
    #include<vector>
    #include<string>

    void quickaont(int a[], int l, int n);

    int main()
    {
        int aa[] = { 1, 5, 7, 6, 2, 3 };
        //Solution sou;
        //sou.bubbleSort(aa, 6);
        quickaont(aa, 0, 5);
        return 1;
    }


    void quickaont(int a[], int left, int right)
    {
        //l代表基准数的位置  n代表数组的长度
        if (left<right)
        {
            int i = left, j = right, key = a[left];
            while (i < j)
            {
                while (i<j && a[j] >= key)//从右向左找第一个小于key的值
                    j--;
                if (i<j)
                {
                    a[i] = a[j]; //把key的坑填上
                }

                while (i<j && a[i]<key)//从左向右找第一个大于key的值
                    i++; //++是因为要找下一个key

                if (i<j)
                {
                    a[j] = a[i]; //把上一个坑填上
                }
            }
            //i == j  这里说明重合了
            a[i] = key;
            quickaont(a, left, i - 1); // 递归调用  
            quickaont(a, i + 1, right);
        }
    }

    天天向上
  • 相关阅读:
    python 枚举enum
    python lambda 三元表达式
    python修改类属性
    python获取引用对象的个数
    python 返回实例对象个数
    python __del__() 清空对象
    python面向对象:继承
    python面向对象:多态
    Docker容器和K8s添加Health Check
    mkfs.xfs: /dev/vdb appears to contain a partition table (dos)
  • 原文地址:https://www.cnblogs.com/hg07/p/12741380.html
Copyright © 2011-2022 走看看