判断题
选择题
1.有组记录的排序码为{46,79,56,38,40,84 },采用快速排序(以位于最左位置的对象为基准)得到的第一次划分结果为:
a.{40,38,46,56,79,84}
b.{38,46,56,79,40,84}
c.{38,79,56,46,40,84}
d.{38,46,79,56,40,84}
选a,解析:
46,79,56,38,40,84
l r
因为以46为基准,所以l不动,对r进行分析
84大于46,所以不用动
接着r--,对应40
46,79,56,38,40,84
l r
40小于46,所以将40替换46
40,79,56,38,——,84
l r
接着l++
40,79,56,38,——,84
l r
l对应79,大于40,所以79替换到r的地方
40,——,56,38,79,84
l r
接着r--,对应38
40,——,56,38,79,84
l r
38小于40,所以38替换到l的地方
40,38,56,——,79,84
l r
接着l++
40,38,56,——,79,84
l r
l对应56,大于40,所以56替换到r处
40,38,——,56,79,84
l r
接着r--
此时l与r位置相同
所以不用替换,直接把基准值46填进去就行
发表评论