JavaEE基础之冒泡排序
来源:互联网 发布:js按钮current trigger 编辑:程序博客网 时间:2024/05/21 22:46
今天长沙黑马程序员老师给大家详细讲解一个案例:数组冒泡排序。
具体是这样的:有一个数组 int[] arr = {24, 69, 80, 57, 13}; 把这个数组按从大到小的顺序排列。
我们冒泡排序的思路是这样的:从头开始两两比较,也就是0索引和1索引的元素比较,如果1索引比较大就交换位置,然后1索引和2索引元素比较,以此类推。大的数组就像水里的泡泡一样,越接近水面气泡越大。
好的,让我们画几个泡泡吧!
这是数组原来的样子,我们按照数字的大小画了泡泡。一个泡泡从水里冒出到水面,随着压强的减小,气泡是越来越大的,所以我们这个看着就不太对啦。我们开始排序吧。
[Java] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
9
for
(
int
i =
0
; i < arr.length -
1
; i++) {
// 外循环只需要比较arr.length-1次就可以了
for
(
int
j =
0
; j < arr.length -
1
- i; j++) {
// -1为了防止索引越界,-i为了提高效率(后面排好序的就不比较了)
if
(arr[j] > arr[j +
1
]) {
// j元素跟j+1比较
int
temp = arr[j];
arr[j] = arr[j +
1
];
arr[j +
1
] = temp;
}
}
}
第一次比较:24和69比较-交换,24和80比较-交换,24和57比较-交换,24和13比较-不交换,因此第一次遍历之后顺序为:
我们发现13 、24、57的顺序已经排好。接下来我们继续分析排序步骤:69和80比较-交换,69和57比较-不交换,57和24比较-不交换,24和13比较-不交换。
至此我们就排好啦,通过图片是不是很直观就明白了冒泡排序的过程?哈哈~
阅读全文
0 0
- JavaEE基础之冒泡排序
- java基础之冒泡排序
- 基础之冒泡排序法
- java基础之冒泡排序
- 基础算法之冒泡排序
- 算法基础之冒泡排序
- 算法基础之冒泡排序
- C#基础之冒泡排序
- 基础算法之 冒泡排序
- 算法基础之排序篇-冒泡排序
- 基础算法之排序(1)--冒泡排序
- 基础算法--排序: 之冒泡排序
- java基础之----选择排序 冒泡排序
- java基础之----选择排序 冒泡排序
- 【8086汇编】基础排序之冒泡排序
- sort之冒泡排序(java基础)
- 编程基础之冒泡排序法
- java基础(数组)之冒泡排序
- keil C51 模拟堆栈,可重入函数调用,参数传递
- MySQL性能优化的最佳20+条经验
- python里使用正则表达式的search()函数实现指定位置搜索
- hdu1521排列问题
- 编辑距离算法(LD)详解
- JavaEE基础之冒泡排序
- Android性能优化的几个方面
- 远程连接Linux的相关配置
- 作者: 果冻虾仁 来源: CSDN 发布时间: 2017-08-10 23:08 阅读: 52608 次 推荐: 251
- masonry报'attempting to add unsupported attribute: (null)'
- 类似angularjs的ng-options解析规则的解析函数
- 为什么说 Objective-C 是一种动态语言?
- hdu1085Holding Bin-Laden Captive!组合问题
- Python35调用谷歌翻译