冒泡排序

£可爱£侵袭症+ 提交于 2019-11-30 18:11:48

1.原理图

2.代码

public class Test {
    public static void main(String[] args) {
        int[] list = {5,20,9,88,43,22,10};
        bubbleSort(list);
    }
    public static void bubbleSort(int[] list) {
        int temp = 0; // 用来交换的临时数

        // 要遍历的次数
        for (int i = 0; i < list.length - 1; i++) {
            // 从后向前依次的比较相邻两个数的大小,遍历一次后,把数组中第i小的数放在第i个位置上
            for (int j = list.length - 1; j > i; j--) {
                // 比较相邻的元素,如果前面的数大于后面的数,则交换
                if (list[j - 1] > list[j]) {
                    temp = list[j - 1];
                    list[j - 1] = list[j];
                    list[j] = temp;
                }
            }

            System.out.format("第 %d 趟:\t", i);
            for (int a : list){
                System.out.print(a);
                System.out.print(" ");
            }
            System.out.println();
//            printAll(list);
        }
    }
}

3.总结

就是把从后向前比较相邻的两个数字,小的放前面

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!