问老师归并排序sort部分

来源:3-2 归并排序法的实现

qq_TheNights_0

2018-02-02

那个sort部分 没有具体实现过程直接用sort( arr,1, mid)就可以排序吗? 还有那个为什么要写一个public的sort和一个private的sort?

写回答

1回答

liuyubobobo

2018-02-03

public sort是留给用户的接口,用户只需要调用这个public的sort,将待排序数组传进去就好了。


private sort是我们的public sort使用的一个排序子过程,是我们真正的排序逻辑。你可以看到其中的参数变多了,它本身是一个递归调用,实现了归并排序算法。


如果你愿意,删除掉现在的public sort,把现在的private sort改成public,作为用户调用的接口,也是没问题的。不过这样用户还要多传两个参数:)


具体我的测试调用过程,可以参见代码中的main函数:)

0
2
liuyubobobo
回复
qq_TheNights_0
这句话对arr的[l, mid)这部分进行了排序。
2018-02-03
共2条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程