对数组 arr[] = {4, 3, 1, 5, 2} 进行升序排序,执行第一轮选择排序后数组 arr 中的内容是 {1, 4, 3, 5, 2}。
答案B。选择排序每轮找最小值交换到前面。补全时要确保比较的是当前元素与当前最小值。
选择排序每轮找到最小值下标后与当前位置交换。注意比较的是数组元素值而不是下标。
【考点】选择排序|第一轮扫描规则|数组交换
GESP 四级算法模块 排序算法。命题人卡住的是考生对"选择排序第一轮"的机械记忆——误以为排序后前两个数一定有序,而实际上选择排序每轮只保证当前轮次扫描范围的最小值被放到该范围首位。