双向冒泡排序
(1) 从表头开始往后扫描线性表,在扫描过程中逐次比较相邻两个
元素的大小。若相邻两个元素中,前面的元素大于后面的元素,则
将它们互换,称之为消去了一个逆序。显然,在扫描过程中,不断
地将两相邻元素中的大者往后移动,最后就将线性表中的最大者换
到了表的最后。
(2) 从后到前扫描剩下的线性表,同样,在扫描过程中逐次比较
相邻两个元素的大小。若相邻两个元素中,后面的元素小于前面的
元素,则将它们互换,这样就又消去了一个逆序。显然,在扫描过
程中,不断地将两相邻元素中的小者往前移动,最后就将剩下线性
表中的最小者换到了表的最前面
(3) 对剩下的线性表重复上述过程,直到剩下的线性表变空为止,
此时的线性表已经变为有序。
第 3 页 / 共 69 页