十大经典排序(2)——冒泡排序(冒泡排序和简单排序)

createh53周前 (05-03)技术教程7

什么是冒泡排序

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

冒泡排序的原理

每一趟只能确定将一个数归位。即,第一趟只能确定将末位上的数归位,第二趟只能确定倒数第二位的数归位,以此类推下去。

如果有n个数进行排序,只需将n-1个数归位,也就是要进行n-1个操作。

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

冒泡排序动画演示

说明:(升序)---3、44、38、5、47、15、36、26、27、2、46、4、19、50、48

第 0 趟:

3、44、38、5、47、15、36、26、27、2、46、4、19、50、48

3、38、44、5、47、15、36、26、27、2、46、4、19、50、48

3、38、5、44、47、15、36、26、27、2、46、4、19、50、48

3、38、5、44、47、15、36、26、27、2、46、4、19、50、48

3、38、5、44、15、47、36、26、27、2、46、4、19、50、48

3、38、5、44、15、36、47、26、27、2、46、4、19、50、48

3、38、5、44、15、36、26、47、27、2、46、4、19、50、48

3、38、5、44、15、36、26、27、47、2、46、4、19、50、48

3、38、5、44、15、36、26、27、2、47、46、4、19、50、48

3、38、5、44、15、36、26、27、2、46、47、4、19、50、48

3、38、5、44、15、36、26、27、2、46、4、47、19、50、48

3、38、5、44、15、36、26、27、2、46、4、19、47、50、48

3、38、5、44、15、36、26、27、2、46、4、19、47、50、48

3、38、5、44、15、36、26、27、2、46、4、19、47、50、48

3、38、5、44、15、36、26、27、2、46、4、19、47、48、50

第 1 趟 ...

冒泡排序C++代码




冒泡排序特性

时间复杂度:O(N*N)

空间复杂度:O(1)

稳定性:稳定

相关文章

C语言排序方法——冒泡排序详解!你学会了吗?

冒泡排序法的基本思路为:每次将相邻的两个数比较,将小的调在前面。举个例子,如果有6个数:9,8,5,4,2,0。第一次先将最前面的两个数9和8对调。第二次将第2个数和第3个数对调(9和5)······...

冒泡排序——C语言(冒泡排序c语言什么意思)

冒泡排序的图示:假设有一个数组 [5, 3, 8, 6, 2],逐步冒泡排序的过程:第一轮:比较 5 和 3,5 > 3,交换 → [3, 5, 8, 6, 2]比较 5 和 8,5 <...

基于C语言的冒泡排序法(c语言冒泡排序思路)

冒泡排序法:对数组中的n个整数类型的数据元素(a[0]~a[n-1])进行排序。void BubbleSort(int a[],int n){ int i,j,flag=1; int temp; fo...

一文透彻解析冒泡排序(冒泡排序有几种方法)

谈一谈冒泡排序看到很多人谈算法题,上来就是一段代码,你去看去吧,自己悟去吧。心塞有的题目老长时间就是不理解。。。本文分析一下啥是冒泡排序?排序就是一组数字,按照顺序排列(从小到大) ,冒泡排序是排序的...

常见的三种排序(冒泡排序、插入排序、选择排序)

冒泡排序什么是冒泡排序?百度百科解释:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要...

Python实现冒泡排序(python冒泡排序列表)

''' 冒泡排序原理:比较列表中相邻的两个元素大小,如果第2个元素比第1个元素大,就交换它俩的位置,从列表的开始到结尾, 依次对每一组相邻的2个元素都进行比较,这样最大的元素就...