# 1. 题目分析
使用冒泡法对指定数字进行排序
难度: ⭐️
示例:
// 输入
int[] num1 = {3, 1, 2, 5, 8, 4};
// 输出
[1, 2, 3, 4, 5, 8]
1
2
3
4
5
2
3
4
5
# 2. 题目分析
该题目为最基础的冒泡法排序。难度不是很大。下面我们使用一个动画来直观感受一下冒泡法排序的过程。

# 3. 视频讲解
# 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
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量级增加)