对数组 arr[]={5, 3, 8, 1} 进行升序排序,执行第一轮冒泡排序后数组 arr 中的内容为( )。
答案A。选择排序每轮找最小值交换到前面。补全时要确保比较的是当前元素与当前最小值。
选择排序每轮找到最小值下标后与当前位置交换。注意比较的是数组元素值而不是下标。
【考点】冒泡排序|第一轮比较
🎯 考纲定位 GESP 四级算法基础模块,排序算法考点。命题人拿第一轮冒泡考你,专卡"以为一轮就排好"的懒思维。
🧠 解题思维 冒泡排序核心规则:相邻元素比较,大者右移。模拟第一轮:
一轮结束,最大元素 8 沉底,数组变为 3,5,1,8。
🪤 陷阱拆解 逐项拆错:
冒泡"一轮"的本质是:从 i=0 到 i=n-2,每对 (i,i+1) 比较一次。
🔄 反命题思维 若改成"第二轮冒泡",数组会再变一次(1 会上浮);若改成"选择排序第一轮",结果完全不同。刷到排序题先问:考的是哪一轮、哪种排序、边界条件。