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];
时间: 2024-10-11 11:56:02