首页 > 试题广场 >

设一组初始关键字记录关键字为( 12,15,1,18,2,3

[单选题]
设一组初始关键字记录关键字为( 12,15,1,18,2,35,30,11 ),则以 12 为基准记录的一趟快速排序结束后的结果为
  • 11,1,2,12,35,18,30,15
  • 11,2,1,12,15,18,35,30
  • 11,2,1,12,18,35,30,15
  • 都不是
链接:https://www.nowcoder.com/questionTerminal/1303c3492a674955abe384d41665d272?source=relative
来源:牛客网
快速排序里的挖坑填补法:以12为标准值,从右开始找比12小的值,首先是11,把11放在12的那个位置,把12放在11的位置,在从左找比12大的值15,把15放在12的新位置(原11的位置)之后变成 11,12,1,18,2,35,30,15.
在新的一轮开始,从右开始找12 小的数是2,把2放在12的位置,12放在2的位置,在从左找比12大的数18,把18放在12的新位置上(原2的位置)变成11,2,1,12,18,35,30,15.
发表于 2018-05-28 16:50:36 回复(0)
找比基准数小的是从右往左,找比基准数大的是从左往右,因此最先换到左边来的是11换到右边的是15,同时移动左右标记,随着左右两边换来换去移动标记left,right,left与right相遇一趟结束
发表于 2018-03-29 20:52:58 回复(0)
以12为基准,比12 小的放在前面,比12大的放在12后面,对被12分割成的两部分再次进行快排序,因此,一次快排序后的序列为:
1,2,11,12,15,18,35,30,应该选D

发表于 2018-03-28 22:07:31 回复(0)
挖坑填补法,以12位基准,从右到左找比基准小的数,交换两个数的位置,从左到右找比基准大的数,交换两数位置
发表于 2018-04-18 20:47:12 回复(0)