快排和并归

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];

posted @ 2017-05-20 19:11  细雨细语  阅读(147)  评论(0编辑  收藏  举报