通过递归的方法实现归并排序
对数组排序可分为以下几步
1)把前一半排序
2)把后一半排序
3)把两半归到一个新的有序数组,再拷贝回原数组
具体代码
#include<iostream>
using namespace std;
void Merge(int a[],int s,int m,int e,int tmp[])//对数组从下标s到e分为[s,m],[m+1,e]两部分进行排序,tmp作为中转载体
{
int pb=0;
int p1=s,p2=m+1;
while(p1<=m&&p2<=e){
if(a[p1]<a[p2