本章再介绍两种典型的简单排序:起泡排序和插入排序
起泡排序(Bubble Sort)
历史悠久
早在 1956 年 7 月,ACM 期刊上就发表了一篇名为《电子计算机系统上排序》(Sorting on Electronic Computer Systems)的论文,作者是 E. Friend,其中就讲述了起泡排序。
不过当时这种排序算法还被称为通过交换排序(Sorting by Exchange),后来改叫交换排序(Exchange Sort),直到 1962 年,才被正式称作起泡排序(Bubble Sort,又译作冒泡排序)。
算法原理
起泡排序的原理非常简单:
起泡排序是一个迭代过程;
每次迭代都将所有待排序元素从头至尾(或从尾到头)走访一遍;
在每次走访过程中,两两比较相邻的元素,如果这两者的相对顺序错误就交换过来,否则前进一步去比较下一对相邻元素;
迭代至没有再需要交换的元素为止。
因为在用此算法排序升序序列时,每次迭代中最小的元素会经由一次次地交换慢慢“浮”到数列的顶端,就好像一个