快速排序法

 

 

  什么是快速排序法?我们需要结合下方的数据进行分析:

  

0
1
2
3
4
5
6
7
8
28
4
36
2
65
14
55
17
L=28
R=17
i=0
j=8

 

   (1)在上面的表格中:

      第1行:表示(数组的下标),从0开始到8。

      第2行:表示(数组中的数据),共8个。

      第3行:定义了一个(左标记L)开始时(指向)第1个数据,即28,

          定义了一个(右标记R)开始时(指向)最后1个数据,即17。

      第4行:定义变量i与j,分别作为(左边数据)与(右边数据)的数组下标,

          刚开始时,(i等于0),即第1个数据的下标,

          而(j等于8),是数据的总数量。

 

   (2)首先,(变量i)从0开始,向右进行查找,直到找到大于(左标记L)的数据时停止,

      同时,(变量j)从8开始,向左进行查找,直到找到小于或等于(右标记R)的数据

      时停止。

 

   (3)然后,判断(变量i)是否小于(变量j),

      如果(判断成立),交换(变量i)与(变量j)对应的数据,

      然后,重复执行步骤(2)。

      如果(判断不成立),交换(左标记L的数据)与(变量j)对应的数据,

      然后,以(变量j)的位置,把数据划分为(左右两个部分)。

 

   (4)然后,(左右两个部分)重复执行步骤(2)与(3),

      直到完成从小到大的排序。

      以上就是快速排序的执行步骤,接下来,我们结合上面表格中的数据开始分析。

 

 

 

下载训练代码与文档