面试官:手写一个冒泡排序,并对其改进( 二 )

一、认识冒泡排序

之前在学习排序算法的时候 , 冒泡排序往往都是第一个被介绍 , 就是因为其太简单 。 冒泡排序很简单:

依次比较相邻的两个数 , 将小数放在前面 , 大数放在后面 。

注意:冒泡排序比较的是相邻的两个数 , 而选择排序比较的整个队列中最大或者是最小的数进行交换 。

第一趟:首先比较第1个和第2个数 , 将小数放前 , 大数放后 。 然后比较第2个数和第3个数 , 将小数放前 , 大数放后 , 如此继续 , 直至比较最后两个数 , 将小数放前 , 大数放后 。 (此时最后一个数一定是整个数组中的最大值)

第二趟:和第一趟一样 , 不过最后一个数已经是最大值 , 比较到倒数第二个即可 。 (此时倒数第二个数一定是整个数组倒数第二大的数)

第三趟、第四趟以此类推即可 。

我们来一张动图演示一下:

推荐阅读