冒泡排序Bubble sort
来源:互联网 发布:淘宝如何申请小号 编辑:程序博客网 时间:2024/04/28 07:11
原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,
这样一趟过去后,最大或最小的数字被交换到了最后一位,
然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子
例子为从小到大排序,
原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |
第一趟排序(外循环)
第一次两两比较6 > 2交换(内循环)
交换前状态| 6 | 2 | 4 | 1 | 5 | 9 |
交换后状态| 2 | 6 | 4 | 1 | 5 | 9 |
第二次两两比较,6 > 4交换
交换前状态| 2 | 6 | 4 | 1 | 5 | 9 |
交换后状态| 2 | 4 | 6 | 1 | 5 | 9 |
第三次两两比较,6 > 1交换
交换前状态| 2 | 4 | 6 | 1 | 5 | 9 |
交换后状态| 2 | 4 | 1 | 6 | 5 | 9 |
第四次两两比较,6 > 5交换
交换前状态| 2 | 4 | 1 | 6 | 5 | 9 |
交换后状态| 2 | 4 | 1 | 5 | 6 | 9 |
第五次两两比较,6 < 9不交换
交换前状态| 2 | 4 | 1 | 5 | 6 | 9 |
交换后状态| 2 | 4 | 1 | 5 | 6 | 9 |
第二趟排序(外循环)
第一次两两比较2 < 4不交换
交换前状态| 2 | 4 | 1 | 5 | 6 | 9 |
交换后状态| 2 | 4 | 1 | 5 | 6 | 9 |
第二次两两比较,4 > 1交换
交换前状态| 2 | 4 | 1 | 5 | 6 | 9 |
交换后状态| 2 | 1 | 4 | 5 | 6 | 9 |
第三次两两比较,4 < 5不交换
交换前状态| 2 | 1 | 4 | 5 | 6 | 9 |
交换后状态| 2 | 1 | 4 | 5 | 6 | 9 |
第四次两两比较,5 < 6不交换
交换前状态| 2 | 1 | 4 | 5 | 6 | 9 |
交换后状态| 2 | 1 | 4 | 5 | 6 | 9 |
第三趟排序(外循环)
第一次两两比较2 > 1交换
交换后状态| 2 | 1 | 4 | 5 | 6 | 9 |
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
第二次两两比较,2 < 4不交换
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
第三次两两比较,4 < 5不交换
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
交换后状态| 1 | 2 | 4 | 5 | 6 | 9 |
第四趟排序(外循环)无交换
第五趟排序(外循环)无交换
排序完毕,输出最终结果1 2 4 5 6 9
冒泡排序 Java Code
//冒泡排序Bubble sort //原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换public void run() {int[] numArr = { 6, 2, 4, 1, 5, 9};for(int i = 0; i < numArr.length - 1; i++) { for(int j = 0; j < numArr.length - 1; j++) {if(numArr[j] > numArr[j + 1]) {int temp = numArr[j];numArr[j] = numArr[j + 1];numArr[j + 1] = temp;}}}for(int i = 0; i < numArr.length; i++) {System.out.println(numArr[i]);}}
- 冒泡排序(bubble sort)
- Bubble Sort 冒泡排序
- 冒泡排序(Bubble Sort)
- 冒泡排序 Bubble Sort
- 冒泡排序(Bubble Sort)
- [冒泡排序]Bubble Sort
- 冒泡排序(Bubble Sort)
- 冒泡排序Bubble sort
- 冒泡排序 (Bubble Sort)
- Bubble Sort 冒泡排序
- 冒泡排序(Bubble Sort)
- 冒泡排序Bubble sort
- 冒泡排序 Bubble Sort
- 冒泡排序 Bubble Sort
- 冒泡排序 Bubble Sort
- Bubble Sort冒泡排序
- 冒泡排序bubble sort
- 冒泡排序Bubble Sort
- Ubuntu10.10的网络配置
- Ubuntu apt-get详解
- ubuntu下安装tftp服务
- 2013年的元旦
- C++ 常用查找算法
- 冒泡排序Bubble sort
- Linux find和grep的区别
- c语言线性表详解
- C语言中字符替换为字符串(增强版)
- B-树 与 B+树
- iconv() Detected an illegal character in input string
- C++类模版详解
- CentOS 6.3初次安装网络配置
- MySQL的登陆错误:ERROR 1049 (42000): Unknown database 'yht'