算法思想:
假设有两个人,每人手里都有一部分牌,而且每个人手中的牌都按大小顺序排列好了。
那么,现在要把两个人手中的牌合并到一起,并且合并后要从小到大依次排好,可以这样做:
每个人都从手中拿出最小的牌,然后比较,谁的牌小就把该张牌放在桌面上,牌大的一方牌仍然拿在手中,待下次再比较。
下一次每个人又拿最小的牌进行比较,如此下去。。。直到一方手中的牌全部放在了桌面上,这时另一方就可以把牌按从小到大的顺序全部放在桌面上了。
这时,桌面上的牌显然是排好了序的。
这就是归并排序法的主要思想。当然,有归并,首先就得分割,得把手中的牌分到两个人手中,然后分到四个人手中。。。
一直分到每人手中只有一张牌。然后才可以每两个人进行合并,最后合并到一个人的手中。
c++实现:
本文详细介绍了归并排序算法的思想及其实现过程。通过类比两人合牌的过程,阐述了归并排序的基本原理,并提供了C++代码示例。该算法首先将数组分割成单个元素,再逐步合并排序。
2049

被折叠的 条评论
为什么被折叠?



