一个关于快速排序的问题

over302 2009-10-30 09:28:30
一个题目,就多了一字,那它的结果就不一样了,是不是书中的答案错误了啊

题目1:
若一组记录的关键字码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的第一次划分结果为

书中的答案是40,38,46,79,56,84


————————————-————
题目2:
若一组记录的关键字码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的“一次”划分结果为:

书中的答案有两个选项从中选一个,
答案是选“40,38,46,56,79,84”

就不选“40,38,46,79,56,84
”了,

---选自(文冲P41.10),和蓝纲P143.4

________________________________________________________________
________________________________________________________________

我的疑问是:
我认为都应该选:
“40,38,46,79,56,84”
因为“第一次排序”,子面上理解就包括了“一次”的含义啊,是我的理解错误了呢,还是第2个题目书中的答案错误了呢,


,恳请会此算法的热心人能够帮忙指教,谢谢



...全文
399 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
over302 2009-11-04
  • 打赏
  • 举报
回复
谢谢
hlwang_1984 2009-10-30
  • 打赏
  • 举报
回复
我觉得正确答案应该是:40,38,46,56,79,84
一般的划分结果应该是如下吧:
起始:46,79,56,38,40,84
第一次:40,79,56,38,46,84
第二次:40,46,56,38,79,84
第三次:40,38,56,46,79,84
第四次:40,38,46,56,79,84

lz是怎么划分的?
sxq310 2009-10-30
  • 打赏
  • 举报
回复
一楼的解法正确!
个人觉得题目一得答案应该是错误的,应该和二的一样
perfecttt 2009-10-30
  • 打赏
  • 举报
回复
第一次是一趟,一趟完了,比他小的在前面,大的在后面。“一次”是一趟的第一次。交换的第一次。

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧