冒泡排序

什么是冒泡排序?

冒泡排序的英文Bubble Sort,是一种最基础的交换排序。之所以叫做冒泡排序,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。

冒泡排序的原理:
每一趟只能确定将一个数归位。即第一趟只能确定将末位上的数归位,第二趟只能将倒数第 2 位上的数归位,依次类推下去。如果有 n 个数进行排序,只需将 n-1 个数归位,也就是要进行 n-1 趟操作。

而 “每一趟 ” 都需要从第一位开始进行相邻的两个数的比较,将较大的数放后面,比较完毕之后向后挪一位继续比较下面两个相邻的两个数大小关系,重复此步骤,直到最后一个还没归位的数。

2、冒泡排序到底是如何排序的呢?
下面通过一个动图来看一看冒泡排序到底是怎么样移动的

 

 

 

具体是如何移动的呢?

(1)起始时,左下标指向第一个石子,右下标指向第二个石子,然后比较

 

 

 

(2)然后左右下标同时向右移动,再次比较

 

 

 

(3)第一趟结束之后,最大的石子就移动到了最右边

 

 

 

(4)接下来就从剩下 3 个没排好序的石子中继续选出最大的,规则和上面一样

 

 

 

(5)下面给出这 4 个石子完整的演示过程

 

 

 

3、时间复杂度
由上图可知,4 个石子的时候排完序需要 3 趟,第一趟需要比较3次,第二趟需要比较2次,第三趟需要比较1次,那一共比较了 3 + 2 + 1 次;



posted @ 2020-12-18 21:12  断浪狂刀忆年少  阅读(352)  评论(0编辑  收藏  举报