在无序数组[5, 2, 8, 1, 9, 4]中,执行一次冒泡排序后,数组的状态是?
答案解析
核心考点是冒泡排序的基本原理。冒泡排序每一轮比较相邻元素,如果逆序则交换。第一轮会把最大元素“冒泡”到最后的位置。初始数组为 [5, 2, 8, 1, 9, 4]。第一轮比较:(5, 2)交换-> [2, 5, 8, 1, 9, 4];(5, 8)不交换 -> [2, 5, 8, 1, 9, 4];(8, 1)交换->[2, 5, 1, 8, 9, 4];(8, 9)不交换 ->[2, 5, 1, 8, 9, 4];(9, 4)交换->[2, 5, 1, 8, 4, 9]。所以,一次冒泡排序后数组变为[2, 5, 1, 8, 4, 9]。选项A的错误在于将8和1的位置调换了,但并未和前一位进行比较;选项B没有调整1的位置;选项D是排序后的结果,不是一次冒泡排序的结果。易错点在于错误理解冒泡排序只比较相邻元素。
正确答案:A