波斯马BOSSMA Information Technology

c#排序算法之归并排序

发布时间:2010年9月14日 / 分类:DOTNET / 3,795 次浏览 / 评论

归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。

归并操作的工作原理如下:   
申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
设定两个指针,最初位置分别为两个已经排序序列的起始位置
比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
重复步骤3直到某一指针达到序列尾   
将另一序列剩下的所有元素直接复制到合并序列尾

运行效率和快速排序、堆排序差不多:

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《c#排序算法之归并排序

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论