一、什么是冒泡排序
冒泡排序(BubbleSort),顾名思义,由于整个排序的过程重复进行多次比较和交换元素位置的操作,就好像水中气泡上浮的状态,故得名。冒泡排序的整个过程分为多轮,每轮又分为多次(轮次数由需要排序的元素个数决定),以升序为例,每一轮冒泡都是从第1个元素开始,依次比较1&2,2&3,3&4,4&5……如果在比较的过程中发现前一个元素大于后一个元素,则将二者位置调换,因此可以实现每一轮冒泡,都能将该轮所有元素中的最大元素排到该轮所有元素末尾。这样经过多轮冒泡,就能保证所有元素的顺序排列。
二、冒泡排序的排序过程
以升序规则(最终实现从小到大排列)为例,我们看一下冒泡的具体实现过程:
可以看到第一轮排序经过5次比较+交换位置的操作,最终实现了将所有元素中最大的元素排到了倒数第一个位置。