1.我们先定义了一个长度为 5 的整型数组 arr,用于存储 5 个整数
也就是int arr[5]
2. 输入数组元素
3.通过for循环循环 5 次,每次用scanf读取一个整数,存入数组arr的第i个位置(下标 0~4)
如果输入初始数组:[5, 3, 1, 4, 2]
第 1 轮排序(把最大的数 “5” 冒泡到最后)
- 第 1 次比较:5>3 → 交换 →
[3, 5, 1, 4, 2] - 第 2 次比较:5>1 → 交换 →
[3, 1, 5, 4, 2] - 第 3 次比较:5>4 → 交换 →
[3, 1, 4, 5, 2] - 第 4 次比较:5>2 → 交换 →
[3, 1, 4, 2, 5]
第 2 轮排序(把次大的数 “4” 冒泡到倒数第二)
- 第 1 次比较:3>1 → 交换 →
[1, 3, 4, 2, 5] - 第 2 次比较:3<4 → 不交换 →
[1, 3, 4, 2, 5] - 第 3 次比较:4>2 → 交换 →
[1, 3, 2, 4, 5] - 第 4 次比较:4<5 → 不交换 →
[1, 3, 2, 4, 5]
第 3 轮排序(把 “3” 冒泡到正确位置)
- 第 1 次比较:1<3 → 不交换 →
[1, 3, 2, 4, 5] - 第 2 次比较:3>2 → 交换 →
[1, 2, 3, 4, 5] - 第 3 次比较:3<4 → 不交换 →
[1, 2, 3, 4, 5] - 第 4 次比较:4<5 → 不交换 →
[1, 2, 3, 4, 5]
第 4 轮排序(验证已排好序,无交换)
- 4 次比较均无交换,数组保持:
[1, 2, 3, 4, 5]如图