冒泡排序

1/4/2023 排序

# 1. 题目分析


使用冒泡法对指定数字进行排序
难度: ⭐️

示例:

// 输入
int[] num1 = {3, 1, 2, 5, 8, 4};

// 输出
[1, 2, 3, 4, 5, 8]
1
2
3
4
5

# 2. 题目分析

该题目为最基础的冒泡法排序。难度不是很大。下面我们使用一个动画来直观感受一下冒泡法排序的过程。

# 3. 视频讲解

🔥🔥 视频讲解 (opens new window)🔥🔥

# 4. 代码实现

import java.util.Arrays;

/**
 * 冒泡排序
 */
public class BubblingSort {

    public static void main(String[] args) {
        // 要排序的数组
        int[] num1 = {3, 1, 2, 5, 8, 4};
        // 冒泡法处理
        int[] result = bubbling(num1);
        // 输出结果
        System.out.println(Arrays.toString(result));
    }

    public static int[] bubbling(int[] arr) {
        // i作为左边的指针
        for (int i = 0; i < arr.length; i++) {
            // j作为右边的指针
            for (int j = i + 1; j < arr.length; j++) {
                // 如果左边的数字大于右边,则交换位置。
                if (arr[i] > arr[j]) {
                    int tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
            }
        }
        return arr;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

# 5. 代码分析

空间复杂度:O(1)   (冒泡法排序不需要格外的空间)
时间复杂度:O(N^2) (每增加一个数字,复杂度以N^2量级增加)

更新时间: 1/5/2023, 4:10:22 PM