• //快速排序



    //快速排序
    #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);
        }
    }

    天天向上
  • 相关阅读:
    优化Android Studio/Gradle构建
    Android sdk 搭建
    map排序
    单例
    一些rtsp实现的开源代码
    MySQL性能优化/调优:默认配置的修改
    mysql 优化 实现命中率100%
    mysql性能优化-慢查询分析、优化索引和配置
    findbugs规则
    网络编程及并发编程总结
  • 原文地址:https://www.cnblogs.com/hg07/p/12741380.html
Copyright © 2020-2023  润新知