作者chemical1223 (康康康康康康)
看板TransCSI
标题[问题] QuickSort的问题
时间Wed Jun 10 01:46:47 2009
想请问的是开始移动後若i跟j同时停留在同一个数上该怎麽解决?
例如以下问题
给定 26,5,37,1,61,11,59,15,27,用QuickSort排列
第一次执行完会是
11,5,15,1,26,61,59,37,27
左半部没问题
我想讨论的是26的右半部 61,59,37,27
执行完後发现会有下面结果
61 , 59 , 37 , 27
ij (i,j都停在27上)
此时swap i跟j
61 , 59 , 37 , 27
ij
j继续前进
61 , 59 , 37 , 27
j i
此时i、j交错,swap j跟pivot
得 37,59,61,27
其实在上一步我就知道自己错了,可是我不知道自己错在哪里
跟pivot置换的不是交错後j所指的那个数吗?翻书也看不出个所以然来
想请问板友们遇到这种情况要怎麽办?
若有资讯不足的地方麻烦提醒,我会再补上
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.24.226.36