归并排序也就是把一个数列分成两份,首先分别对2份进行排序,然后把这2份一起排序,典型的递归实现.
实现代码: MergeSort.h:
//归并排序时间复杂度:NlogN,但是由于存在
// for(int i=0;i!=length;++i)
// *first++=*(assistSpace+i);
//数据的复制需要额外的时间,减慢了排序的速度。
#ifndef ___MERGE_SORT_H
#define ___MERGE_SORT_H
namespace zk_sima
{