首页 > 试题广场 >

对数列 (25,84,21,47,15,27,68,35,2

[单选题]

对数列 (25,84,21,47,15,27,68,35,20) 进行( )排序,元素序列的变化情况如下:

(1)25,84,21,47,15,27,68,35,20

(2)20,15,21,25,47,27,68,35,84

(3)15,20,21,25,35,27,47,68,84

(4)15,20,21,25,27,35,47,68,84

  • 快速排序
  • 简单选择排序
  • 希尔排序
  • 归并排序
从(1)到(2):取第一个数25,放到它应该在的位置,25左边的数都比25小,右边的都比25大;
从(2)到(3):对25左边的数列和25右边的数列{20,15,21},{47,27,68,35,84}分别进行快速排序,同样先取各数列的第一个数20和47,使其分别放到应该在的位置,即左边的数都比它小,右边的都比它大;
从(3)到(4):对{15},{21},{35,27},{68,84}四个子序列进行排序,最终排序完成;
从整个过程分析,是一个快速排序的过程。

选A
发表于 2017-03-03 12:16:50 回复(0)
发表于 2022-08-17 23:29:27 回复(0)
从1到2,以25为关键字,从2到3,以20为关键字。
编辑于 2016-12-29 21:01:27 回复(0)
感觉这道题有点问题
快排每次是肯定会把一个元素放到正确位置的,从0-1 21是放在正确位置上了,但是21左边的不都小于21
发表于 2022-08-09 19:57:40 回复(0)
失误失误 应该算一下的。
快速排序:分两种 挖坑法 和交换法。
牛客上基本都是 挖坑法。第一个数字作为基准数字,然后,两边同时进行标号,先从左边开始进行,左边要找小于基准数字的数字,右边要找大于基准数字的数,若找到数字就进行交换,当两者相遇时,交换基准数字,结束。
发表于 2020-05-27 11:09:10 回复(0)