You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

快速排序基准选择疑问:选19为基准后划分的子数组是否正确?

快速排序基准选择后的子数组问题解答

嘿,你的判断完全正确!咱们来拆解下为什么是这样:

当你选择19作为基准时,快速排序的分区过程会把原数组分成三部分:

  • 所有小于基准19的元素
  • 基准元素19本身
  • 所有大于基准19的元素

咱们对着你的原数组[15, 5, 4, 18, 12, 19, 14, 10, 8, 20]逐个核对:

  • 小于19的元素:15、5、4、18、12、14、10、8 → 组成左子数组[15,5,4,18,12,14,10,8]
  • 大于19的元素:只有20 → 组成右子数组[20]

需要补充的小细节:不同的快速排序实现对等于基准的元素处理可能略有不同,但在这个场景里只有一个19,所以它会被放在左右子数组之间的正确位置,后续递归排序时不会再包含它——也就是说下一次递归调用的就是你提到的两个子数组啦。

内容的提问来源于stack exchange,提问作者kevinzf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:28:06