黑马程序员技术交流社区
标题:
来个冒泡
[打印本页]
作者:
不忘初心、
时间:
2015-8-31 13:35
标题:
来个冒泡
数组操作(理解原理,并要求会写该算法的代码)
1):冒泡排序原理:相邻元素两两比较,大的往后走,第一次完毕后,最大值就在最大索引处。
2):冒泡排序代码
public static void bubbleSort(int[] arr) {
// 外循环控制次数
for (int x = 0; x < arr.length - 1; x++) {
// 内循环控制每一次的比较过程
/*
* 第一次,所有元素都参与比较,也就是0个元素不参与。
* 第二次,有1个元素不用参与。
* 第三次,有2个元素不用参与。 ...
*/
// -1是为了防止索引越界
// -x是为了减少比较的次数
for (int y = 0; y < arr.length - 1 - x; y++) {
if (arr[y] > arr[y + 1]) {
// 数据交换
int temp = arr[y];
arr[y] = arr[y + 1];
arr[y + 1] = temp;
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2