33.Java冒泡排序

发布于:2024-11-27 ⋅ 阅读:(47) ⋅ 点赞:(0)

冒泡排序:

  • 一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,
  • 依次对所有的数据进行操作,直至所有数据按要求完成排序.
package Javase;

import sun.security.util.ByteArrayTagOrder;

import java.util.Arrays;

public class Maopao {
    public static void main(String[] args) {
        int[] arr = {24, 69, 32, 17, 56, 99};

        // //数组的打印
        // String s = Arrays.toString(arr);
        // System.out.println(s);

        // 简写为下面的
        System.out.println("排序前:" + Arrays.toString(arr));

        // 分析
        // 第一次比较
        for (int i = 0; i < arr.length - 1; i++) {
            if (arr[i] > arr[i + 1]) {
                // 交换位置
                int temp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = temp;
            }
        }
        // 第二次比较
        for (int i = 0; i < arr.length - 2; i++) {
            if (arr[i] > arr[i + 1]) {
                // 交换位置
                int temp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = temp;
            }
        }
        // 第三次比较
        for (int i = 0; i < arr.length - 3; i++) {
            if (arr[i] > arr[i + 1]) {
                // 交换位置
                int temp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = temp;
            }
        }

        // 通过上面的三次比较,我们发现规律
        // length后面的数字在不断的增大。
        // 所以我们可以使用循环嵌套,最终代码为:

        for (int x = 0; x < arr.length - 1; x++) {
            for (int i = 0; i < arr.length - 1 - x; i++) {
                if (arr[i] > arr[i + 1]) {
                    // 交换位置
                    int temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }
        }
        System.out.println("排序后:" + Arrays.toString(arr));
        // 以上就是“冒泡排序”的方法
        // 在Java中有一个Arrays.sort方法可以帮我们自动实现”冒泡排序“排序
        Arrays.sort(arr);
        System.out.println("排序后:" + Arrays.toString(arr));

    }
}

运行结果

排序前:[24, 69, 32, 17, 56, 99]
排序后:[17, 24, 32, 56, 69, 99]
排序后:[17, 24, 32, 56, 69, 99]

网站公告

今日签到

点亮在社区的每一天
去签到