体育课上,老师让 6 个同学按身高从矮到高站成一排。可是大家站得乱七八糟:
165, 152, 170, 158, 163, 155(cm)
老师说:"你们两两比较,如果左边比右边高,就交换位置!"
同学们开始从左到右依次比较:
① 165 vs 152 → 165>152,交换 → 152, 165, 170, 158, 163, 155
② 165 vs 170 → 165<170,不换 → 152, 165, 170, 158, 163, 155
③ 170 vs 158 → 170>158,交换 → 152, 165, 158, 170, 163, 155
④ 170 vs 163 → 170>163,交换 → 152, 165, 158, 163, 170, 155
⑤ 170 vs 155 → 170>155,交换 → 152, 165, 158, 163, 155, 170
第一轮结束后,最高的人(170)已经"冒泡"到了最后!🫧
再来第二轮、第三轮……每轮都会把当前最高的"冒"到正确位置。这就是冒泡排序!
💡 另一种排法
如果老师换一种方式:"每轮从剩余的人中,找出最矮的,放到队伍最前面。"
第1轮:找最矮 152,放第1位 → 152, 165, 170, 158, 163, 155
第2轮:剩余中找最矮 155,放第2位 → 152, 155, 170, 158, 163, 165
这就是选择排序 —— 每轮选择最小的放到前面!