早教吧 育儿知识 作业答案 考试题库 百科 知识分享

快速排序问题请问一下两个序列哪个是一趟快速排序后的结果?93,7368,1,69,23,1868,1,69,23,1893,73答案所给的是第一个.

题目详情
快速排序问题
请问一下两个序列哪个是一趟快速排序后的结果?
【93,73】【68,1,69,23,18】
【68,1,69,23,18】【93,73】
答案所给的是第一个.
▼优质解答
答案和解析
快排的规则是:在每一排序完成后,总有一个数处在它最后所应该在的位置上.然后将一个问题分成2个问题.
一趟排序完成之后,选择数有个特点,就是:
如果从小到大排列,则其左边都比它大,右边都比它小;
从大到小排列同理.
上面两个选项,可能的中间数
1)是73和68,73满足左边都比它大,右边都比它小.68左有93右有69
2)是18和93,18左有68、69,右有93,73;93左有18,右有73
2的两个数都不是,1的有一个数是.
当然是1了.