C++简单排序算法之冒泡排序
来源:互联网 发布:芈月到底爱谁知乎 编辑:程序博客网 时间:2024/06/14 02:59
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
冒泡排序算法的运作如下:(从后往前)
比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
运行结果:
冒泡排序的思想就是将第一个元素与第二个元素比较,如果第一个元素比第二个元素大,那么就将两者交换,并继续用第二个元素和第三个元素比较,在一个循环结束后,最大的元素会沉到数组的最右边,因此,下次循环就直接到倒数第二个元素为止,最后的一次循环就只剩第一个元素,至此,所有元素都排列完成。这种排序是按照从小到大排序,;还可以按照从大到小的顺序排列,即最大的向左沉,代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
运行结果
0 0
- 简单算法之冒泡排序
- 简单算法之冒泡排序
- 排序算法之冒泡排序(C/C++)
- 排序算法之简单冒泡排序
- C++简单排序算法之冒泡排序
- 排序算法之简单冒泡排序
- C++简单排序算法之冒泡排序
- 简单c排序之冒泡排序法
- C--经典算法之排序---冒泡排序
- Java简单算法之 冒泡排序 选择排序 插入排序
- C语言简单实现冒泡排序算法
- 简单排序算法--冒泡排序
- 简单冒泡排序算法
- 简单算法之冒泡排序(Java)
- 【C#】[算法]冒泡排序
- C算法-冒泡排序
- 【C】冒泡排序算法
- 简单排序之冒泡排序
- dubbo的架构
- 数字游戏
- Java使用JNI调用C/C++(windows和android平台)
- AC之uva750(代码改编自167)
- Hadoop分布式文件系统(1)
- C++简单排序算法之冒泡排序
- BZOJ P1430小猴打架
- PAT--1130. Infix Expression(中序加括号)
- MYSQL的基础使用之MARIADB安装、表的 创建 删除 修改
- 用java实现AES密码算法(一)
- 冒泡排序C++实现
- JavaScript学习-RegExp类型
- HDFS分布式文件系统(2) HDFS的java接口
- Python event事件