两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。
设想被排序的数组R[1..N]垂直竖立,将每个数据元素看成有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上“漂浮”,如此反复进行,直至最后任何两个气泡都是轻者在上、重者在下为止。
例,使用冒泡排序对3、4、2、1、5按照从小到大的顺序排序。
排序过程分析:
第一趟 3 2 1 4 5
第二趟 2 1 3 4 5
第三趟 1 2 3 4 5
第四趟 1 2 3 4 5