校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 快速排序
题目

设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()

A.2,3,5,8,6

B.3,2,5,8,6

C.3,2,5,6,8

D.2,3,6,5,8

解答

正确答案是 C

根据快排思想,选5为基准,
8比5大,不变;
3比5小,交换放到第一位;
2比5小,不变;
6比5大,放到第4个位置;
最后把5当到第3个位置
C 9条回复 评论
带脑斧

在大学没有那么优秀的经历怎么办

发表于 2022-11-05 23:00:00
0 0
我吃小朋友

老师讲得真好,通俗易懂

发表于 2022-08-11 21:00:00
0 0
冰冻三尺

技多不压身

发表于 2021-12-21 22:00:00
0 0
梁利晖

刚接触Redis,太有用了!!

发表于 2021-09-12 11:25:00
0 0
书为

太好了,明了易懂,感谢

发表于 2021-09-08 19:45:00
0 0
先锋

要看快速排序的具体实现方法。

3  2  5  6  8  可以

2  3  5  6  8 也可以

发表于 2018-10-13 16:01:33
0 0
小小精灵

这题选  C   3 2 5 6 8

以5为基准,5 2 6 3 8,从两端开始扫描
规则是:
1.从右边扫描时,记录比基准小的元素的下标j
2.从左边扫描时,记录比基准大的元素的下标i
3.  if(若此时两个下标 i = j){
        当前下标的元素与基准进行交换,结束一次划分
        把原有序列分为两端重新划分
    }
    else{
        执行第四步骤
    }
4.这时开始交换两个下标对应的元素
5.以当前的位置开始,继续从1开始
第一次交换6和3    5 2 3 6 8
第二次交换5和3    3 2 5 6 8

第一次划分完成    这题选  C

发表于 2018-10-13 16:01:19
0 0
毛大军

_ 2 6 3 8
3 2 6 _ 8
3 2 _ 6 8

32(5)68

发表于 2018-10-13 16:00:55
0 0
王王王

这难道不取决于快速排序的实现方法,是先从左向右还是先先右后左呢?

发表于 2018-10-13 16:00:45
0 0