大家好,我是小铁,今天又是写bug的一天…
一丶今天我们来讲讲java中的冒泡排序法(老鸟请直接拷走下面的代码),废话不多说,直接上代码
package com.cn.tie;
public class Test {
public static void main(String[] args) {
Integer sum[] = {1,3,2,6,8,4};
for(int i=0; i<sum.length-1; i++ ){
for(int j=i+1; j<= sum.length-1; j++){
if(sum[j] > sum[i]){ //交换值
Integer arr = 0;
arr = sum[i];
sum[i] = sum[j];
sum[j] = arr;
}
}
}
for(int i=0; i<sum.length; i++){
System.out.println(sum[i]);
}
}
}
二丶讲解思路
1.名称:
冒泡排序法
2.实现思路:
用相邻的两个数,进行比较。第一个和第二个比较,如果第二个比第一个大就进行交换。把最大的放在第一位,最后拿着这个最大的和剩余的相比较,如果遇到比它还大的就进行交换
3.代码讲解:
第一层for循环,当i=0时,它的值为1,j的初始值为i+1 也就是 i 的前一个数字,对应的值为3。继续走,两个值进行比较 3 比 1 大 就进行交换。这时就要注意了 值已经交换过来了 现在i=0的时候 对应的值为3了不是1了 因为进行了交换。j 控制着内层for循环 分别循环剩下的内容和i=0的值进行比较,如果遇到大的就进行交换。因为 i 与 j 都是代表的数组下标 所以 第一层循环为 数组的大小已减去一,因为下标从0开始,内层循环拿到剩余的数进行与i下标的值进行比较,因为初始值为i+1 随着i的改变而改变。所以咱们内层循环的大小为数组的大小已减去一
i=0的时候,最终的结果为
8,1,2,3,6,4
i=1的时候,最终的结果为
8,6,1,2,3,4
i=2
8,6,4,1,2,3
i=3
…
三丶感言
在这里我就不一一列举了,排序的方法很多,冒泡排序只是万千排序的一种。在此小铁只讲解这一种
时光总是很短暂的,又到了和大家说再见的时候。学习过程很枯燥,但是学到了,就会感到很充足。。以上文章,希望对大家有帮助。书写不易,请点个赞吧。有条件的话,点个关注。
我是小铁,一个实力与逗比的结合体…