大多数程序语言都包含排序函数来处理列表中的元素,然而,对于某些特殊场景而言并不总是最优解。因此要了解排序算法,最基本的排序算法之一就是冒泡排序法。
冒泡排序法,顾名思义,就是把轻的元素冒泡的顶端,把重的元素沉到底,为了实现这个过程,算法只需要进行两个操作,比较和交换。也就是说,算法会逐个比较相邻元素,并将其交换。
排序过程分为两个阶段,第一个阶段从第一个元素开始到倒数第二个元素为止,将相邻的元素两两比较,若第一个比第二个大,就交换他们两个。进行完一轮后,最后的元素应该是最大的元素。第二个阶段,重复第一次,但是由于最后一个元素已经是最大的元素,所以每次比较的元素应该减一。
虽然冒泡排序的算法表现不是很高效,但是它很好理解,代码逻辑清晰易懂,同时,它也更适合小数据量的排序,反而最优解的快速排序对于大量数据的排序复杂度比较低。