java数组冒泡排序算法代码详解

public static void main(String[] args){
        /*
        冒泡排序由两层嵌套循环实现排序,外层循环数据对比轮数,内层循环控制每轮对比次数,每一轮依次减少一次对比次数,最终实现排序
         */
        //乱序数组
        int[] arr = {9,3,2,10,4,6};
        //外层控制对比轮数
        for(int i = 0; i < arr.length; i++) {
            //内层循环控制每轮对比次数,每一轮依次减少一次对比次数,减1是因为数组最末尾数字无需对比且不减少1会出现数组下标越界
            for(int j = 0; j < arr.length - i -1; j ++){
                //升序排序(从小到大):如果J下标数字大于后面数字则交换位置,将大的数字往后排,否则保持不动
                //降序排序(从大到小):如果J下标数字小于后面数字则交换位置,将小的数字往后排,否则保持不动
                if (arr[j] > arr[j+1]) {
                    //定义临时变量,交换数字位置。
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        //打印排序结果
        for (int i:arr) {
            System.out.println(i);
        }
    }

扫二维码关注博主公众号👇

在这里插入图片描述

posted @ 2019-10-17 15:46  程序员小召  阅读(639)  评论(0编辑  收藏  举报