采用(  )算法对序列{18,12,10,11,23,2,7}进行一趟递增排序后

免费题库2022-08-02  38

问题 采用(  )算法对序列{18,12,10,11,23,2,7}进行一趟递增排序后,其元素的排列变为{12,10,11,18,2,7,23}。A.选择排序B.快速排序C.归并排序D.冒泡排序

选项 A.选择排序
B.快速排序
C.归并排序
D.冒泡排序

答案 C

解析 选项中几种排序算法的简介及一趟递增排序后的情况如下:
①快速排序:通过一趟扫描将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。其一趟排序的结果为{7,2,11,10,12,18,23};
②选择排序:就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,顺序放入新数组,直到全部拿完。其一趟增量排序的结果为{2,18,12,10,11,23,7};
③冒泡排序:原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束。其一趟增量排序的结果为{12,10,11,18,2,7,23};
④归并排序:原理是把原始数组分成若干子数组,对每一个子数组进行排序,继续把子数组与子数组合并,合并后仍然有序,直到全部合并完,形成有序的数组。其一趟排序的结果是{12,10,11,18,2,7,23}。
综上,应当选择C。
转载请注明原文地址:https://tihaiku.com/congyezige/2426477.html

最新回复(0)