您的位置:首页 > 编程语言 > Java开发

喝着JAVA看算法_01_排序算法之(1)冒泡排序

2016-11-09 15:53 369 查看
冒泡排序,可以说是最经典的排序算法了,博主毕业那年去各大公司面试,被要求写过多次冒泡排序,现在想想感慨良多~~

1. 思想

在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒,像冒泡一样。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

2. 图示



3. 代码

public static void main(String[] args) {
int[] numbers = { 41, 72, 83, 90, 30, 25 };
new Test().bubbleSort(numbers);

//System.out.print(Arrays.toString(numbers));
}

public int[] bubbleSort(int[] numbers) {

int temp = 0;
for(int i = 0; i < numbers.length - 1; i++) {
for(int j = 0; j < numbers.length - 1 - i; j++) {
if(numbers[j] > numbers[j+1]) {
temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
//====测试用=====
System.out.println("第" + (i+1) + "遍");
System.out.println(Arrays.toString(numbers));
}

return numbers;
}


输出结果:

第1遍

[27, 41, 66, 30, 25, 90]

第2遍

[27, 41, 30, 25, 66, 90]

第3遍

[27, 30, 25, 41, 66, 90]

第4遍

[27, 25, 30, 41, 66, 90]

第5遍

[25, 27, 30, 41, 66, 90]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐