首页 > 试题广场 >

25,84,21,47,15,27,68,35,20进行排序

[单选题]
25,84,21,47,15,27,68,35,20进行排序时,变化为“20,15,21,25,47,27,68,35,84”“15,20,21,25,35,27,47,68,84”“15,20,21,25,27,35,47,68,84”的排序方法是()?
  • 选择排序
  • 希尔排序
  • 归并
  • 快速排序
XD头像 XD
D:双指针快排

初始化:head = 0; tail = 8; pivot = a[0];

 

    现在a[0]保存到了变量pivot中了,相当于在数组a[0]处挖了个坑,那么可以将其它的数 填到这里 来。从tail开始向前找一个小于或者等于pivot的数,即将a[8]填入a[0],但a[8]又形成了 一个新坑,

    再从head开始向后找一个大于pivot的数,即a[1]填入a[8],那么a[1]又形成了一个新坑......

 

    就这样,直到head == tail 才停止,最终得到结果如下:


第二次以25左右各自部分再开始进行partion:
编辑于 2015-08-21 09:55:37 回复(0)
更多回答
推荐
D:
每次以第一个元素为支点的快排
编辑于 2015-08-14 18:49:34 回复(3)
D,每次排序后会有一个元素到达最终位置。
编辑于 2015-08-21 15:26:01 回复(0)
快速排序。
对于A选择排序的话,会重新新建一个数组,将要排序的数组一个一个的移到新数组中,同时对新数组中已存在的数进行比较,确定放置的位子。
对于B希尔排序,连步长都没指出,肯定不选。
归并排序第一趟只变前面两个元素的位置。
快速排序,一趟之后,做基准的那个数会在正确的位置上
发表于 2015-08-21 08:22:38 回复(0)
答案是:D,快速排序;
变化如下:
25,84,21,47,15,27,68,35,20;//原数列
20,15,21, 25 ,47,27,68,35,84;//数列1
15, 20 ,21,25,35,27, 47 ,68,84;//数列2
15,20,21,25,27,35,47,68,84;//数列3
观察图中数列可知,原数列变为数列1 是以25(数列的第一个元素)为标准值将大于25和小于25的部分分为两个部分。然后再分别对两个部分进行同样的操作,这样的排序也就是快排。
A选项选择排序,选择排序进行一次会得到剩余数列的最大值,这里没有取最大的操作。选择排序不需要额外的空间。
B选项是希尔排序,希尔排序是插入排序的升级版,本质是将数列按步长进行插入排序,这里没有步长,也没有插入。
C选项是归并排序,归并排序是将两个有序队列进行组合,也就是说每个小段范围内应该是有序的,题目的序列不符号。
因此,正确答案为D选项快速排序。

发表于 2015-08-21 09:09:17 回复(1)
没人发现前面的数和展示排序结果的数不一样吗
编辑于 2023-12-11 23:14:55 回复(0)
一次快排之后是:20 25 21 47 15 27 68 35 84,
第二次才是:       20 15 21 25 47 27 68 35 84
 (我以为就不是快排)
发表于 2022-10-10 11:09:30 回复(0)
快速排序:以第一个元素为支点,利用头尾指针移动比较,使得一轮移动后支点左边全小于支点,支点右边全大于支点
发表于 2022-01-29 09:04:35 回复(0)
D   排除法
发表于 2015-08-21 21:36:01 回复(0)
D 快排   第一趟枢轴元素是25
发表于 2015-08-21 20:58:40 回复(0)
D 快排
发表于 2015-08-21 17:18:20 回复(0)
快速排序以左面第一个元素为每次比较的对象
发表于 2015-08-21 17:06:27 回复(0)
D 快排
发表于 2015-08-21 16:26:28 回复(0)
D
发表于 2015-08-21 15:45:03 回复(1)
D快速排序
第一趟以第一个数字25为枢轴,一趟之后处于稳定位置,左边都是小于25的数字,右边都是大于25的数字
同理第二趟第三趟
发表于 2015-08-21 14:47:02 回复(0)
快排。把第一个元素作为分界点,把大于它的数都放在他的右边,把小于他的数都放在它的左边。而且题上出现2个排序之后的结果,直觉就是快排_(:з」∠)_
发表于 2015-08-21 14:27:04 回复(0)
__X头像 __X
这种题,用排除法,选择排序第一次变化的第一个数字应该是15,希尔排序第一次变化的第一个数字应该是21,归并排序第一次变化的第一个数字是25,所以只能选D。
发表于 2015-08-21 09:33:41 回复(0)
D  明显快排的思路
发表于 2015-08-21 09:21:25 回复(0)
快速排序:
25   84   21   47   15   27   68   35   20
20   15   21   25   47   27   68   35   84
15   20   21   25   35   27   47   68   84
15   20   21   25   27   35   47   68   84
发表于 2015-08-21 09:13:00 回复(0)
看27,21这几个数字可以得知是快速排序。
发表于 2014-10-14 11:39:50 回复(2)