冒泡代码 1103

88 阅读1分钟
public class mp {
    public static void main(String[] args) {

        int[] num_list = {1, 4, 2, 6, 7, 3};

        // 轮次循环
        int length = num_list.length;
        int lun = length - 1;
        int useful_length = length;
        for (int i = 0; i < lun; i++) {
            int times = i + 1;
//            System.out.println(i);
            System.out.println("当前是第" + times + "轮冒泡,有效长度是" + useful_length);

            // 冒泡的核心操做 for
            for (int j = 0; j <= useful_length - 2; j++) {
                System.out.println("下标可游走" + j);

                // 如果i对应的值大于i+1对应的值,那么互换位置
                if (num_list[j] > num_list[j + 1]) {
                    // 替换两个变量
                    int temp = num_list[j];
                    num_list[j] = num_list[j + 1];
                    num_list[j + 1] = temp;
                }
            }
            // 有效长度会减一,原因是最大的那个下一轮不参与冒泡的比较
            useful_length--;
        }


        for (int i = 0; i < num_list.length; i++) {
            System.out.print(num_list[i]);

        }

    }
}