写出第1、2、3、4趟排序结果。

试用冒泡法对数列(45, 73, 12, 23, 52, 5, 38)进行递增排序。


写出第1、2、3、4趟排序结果。


【正确答案】:

初始键值序列 45,73,12,23,52,5,38
第一趟排序后 45,12,23,52,5,38,73
第二趟排序后 12,23,45,5,38,52,73
第三趟排序后 12,23,5,38,45,52,73
第四趟排序后 12,5,23,38,45,52,73


【题目解析】:

冒泡排序法(Bubble Sorting)的过程是:
(1)首先将第一个记录的键值和第二个记录的键值进行比较,若为逆序(即R[1].key>R[2].key),则将这两个记录交换,然后继续比较第二个和第三个记录的键值。依次类推,直到完成第n-1个记录和第n个记录的键值比较交换为止。上述过程称为第一趟起泡,其结果使键值最大的记录移到了第n个位置上。
(2)然后再进行第二趟起泡排序,即对前n-1个记录进行同样操作,其结果是次大键值的记录安置在第n-1个位置上。
(3)重复以上过程,当在一趟起泡过程中没有进行记录交换的操作时,整个排序过程终止。
即每趟起泡都有一个最大键值的记录沉到水底。


Top