首页 > 代码库 > 快排和并归

快排和并归

1,
技术分享


2,
二路并归排序:设数组a中存放有n个数据元素,初始把他们看成是n个长度为1的有序子数组,
然后从第一个子数组开始把相邻的子数组两两合并,得到n/2的整数上界个长度为2的有序子数组,
当n为基数时最后一个新的有序子数组长度为1;对这些新数组再两两归并,最后得到一个长度为n的有序数组为止。
对于二路的并归排序类似。
技术分享

技术分享

2.1计算相邻两子数组起始下标:
技术分享
}

2.2相邻两子数组并归
技术分享

2.3并归排序后的临时空间写回数组。
for (i = l1; i < n; i++, m++)swap[m] = a[i];

快排和并归