排序法系列-快速排序法

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

首先选取一个数据为基准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} 达到预期结果

原文地址:https://www.cnblogs.com/fanxinguu/p/4627652.html