zoukankan      html  css  js  c++  java
  • 排序法系列-快速排序法

         快速排序法是对冒泡排序法的一种改进。他的基本思想是通过一趟排序把数据分割成独立的两部分, 其中一部分的所有数据都比另一部分要小,以达到整个数据的排序。

    首先选取一个数据为基准X通常选取第一个数据。设置两个变量I,J开始排序的时候I = 0 J = N-1(这里N为数据的个数)。从J开始搜索,即从后往前搜索,找到小于X的值两者交换。,之后从I开始搜索,找到大于X的值交换两者,交叉重复以上两步,直到I = J;

     举个例子:

         A[0]    A[1]    A[2]    A[3]    A[4]    A[5]

          49       38       65       97       76       13

    进行第一次排序:

    交换之后的结果  13   38    65    97    76    49这时J = 4;

    第二次排序:

    交换之后的结果   13    38    49    97    76    65这时I = 2;

    第三次排序:

    交换之后的结果    13    38    49    97    76    65 这时J = 2;

    I = J快速排序结束。{13    38}   49    {97    76    65} 达到预期结果

  • 相关阅读:
    sublime打开txt文件乱码的问题
    while循环小例
    mongoDB内置文档定义
    WebStorm 10.0.3注册码
    angularjs之ng-mode获取lobject类型里的键值
    前端打印console
    js去掉数组的空字符串
    js数组去重的三种方式的比较
    js数据类型之判断
    Bootstrap中的datetimepicker浅谈
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/4627652.html
Copyright © 2011-2022 走看看