首页 > 试题广场 >

设一组初始记录关键字序列为( 58,18,185,15,5,

[问答题]

设一组初始记录关键字序列为( 58,18,185,15,5,85 )以第一个记录关键字 58 为基准,只进行一趟快速排序,结果是()。

应该有两种答案,因为划分子集的方法有两种,大概说一下,明天补充细节。 两个方法都是两个哨兵i,j.但是, 方法一:基准数参与每次的交换. 结果: 5,18,15,58,185,85 方法二:基准数只参与最后一次的交换. 结果:15,18,5,58,185,85
编辑于 2017-03-02 21:54:50 回复(0)
更多回答
5 18 15 58 185 85
以58为基准,第一趟快速排序中的每一次交换过程如下:
1.从后往前找比58小的,5 18 185 15  58  85,  i=1 j=4
2.从前往后找比58大的, 5 18 58 15  185  85,  i=2 j=4
3. 从后往前找比58小的,5 18 15 58 185  85 i=2 j=4
4. 从前往后找比58大的,i=5, j= 3, i已经>j
结束这一轮比较
编辑于 2017-01-31 10:24:12 回复(0)