首页 > 试题广场 >

已知数组{46、36、65、97、76、15、29},以46

[单选题]
已知数组{46、36、65、97、76、15、29},以46为关键字进行一趟快速排序后,结果为:
  • 29、36、15、46、76、97、65
  • 29、15、36、46、76、97、65
  • 29、36、15、46、97、76、65
  • 15、29、36、46、97、76、65
1、先从右往左找比46小的数,二者交换位置得到29,36,65,97,76,15,46
2、再从左向右找比46大的数,二者交换位置得到29,36,46,97,76,15,65
3、再从右往左找比46小的数,二者交换位置得到29,36,15,97,76,46,65
4、再从左向右找比46大的数,二者交换位置得到29,36,15,46,76,97,65
发表于 2019-08-19 16:27:47 回复(0)
选项均是错误的。
第一次排序结束后正确序列是:15 36 29 46 76 97 65
快排思路:
设置三个指针lt,i,gt,小于下标lt的为小于关键字部分,大于gt为大于关键字部分,中间为等于关键字部分;最后将关键字与小于部分最后一个元素交换即可。
发表于 2019-08-09 16:04:12 回复(1)
这跟我学的快排不太一样,貌似是有多种做法,答案是其中一种
发表于 2021-08-30 15:36:11 回复(1)