冒泡排序
算法思想:自下往上依次比较取最小。
基本思想:交换排序:两两比较待排序记录的关键字,发现两个纪录的次序相反时即进行交换,直到没有反序的记录为止。
算法执行:自下向上扫描,依次比较相邻两个气泡的重量,若轻者在下,重者在上,则置换两者位置,使其向上漂浮。一次扫描结束后,最轻的气泡便漂浮在该区间的最顶部,这时只有顶部一个位置是有序的。二次扫描,将次轻的气泡向上漂浮至有序区间下面的位置。如是往复,直至所有位置都是有序的。对于n个元素的文件来说,顶多扫描n-1趟,若某一趟扫描中,没有发生任何位置交换,则证明文件已经有序,可提前终止算法。
算法性能:记录移动次数较多,故平均时间性能比直接插入排序差得多。
算法稳定性:稳定排序。
代码实现: