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);
        }
    }

    天天向上
  • 相关阅读:
    PS软件之,快速的修改图片你的尺寸
    想的太多,做的太少
    Java-Junit 的Hello world
    Java-hibernate的映射文件
    工作思路
    Spring入门Hello World
    PHP 进制问题
    Java-hibernate的Hello World
    PHP获得header头进行分析
    动软模板使用教程
  • 原文地址:https://www.cnblogs.com/hg07/p/12741380.html
Copyright © 2011-2022 走看看