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} 达到预期结果

  • 相关阅读:
    百度网盘破解
    openstack2 kvm
    Openstack1 云计算与虚拟化概念
    Rsync + Sersync 实现数据增量同步
    Ansible 详解2-Playbook使用
    Ansible 详解
    Python mysql sql基本操作
    COBBLER无人值守安装
    ELK 环境搭建4-Kafka + zookeeper
    此坑待填 离散化思想和凸包 UVA
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/4627652.html
Copyright © 2011-2022 走看看