归并排序是一个很经典的题目,通常最简单的做法是利用二分和递归的思想来完成。
以C语言网上的题目为例:归并排序
//使用二分递归的思想进行归并排序
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+5;
int a[maxn];
//合并,注意L2 = R2+1, L2与R2紧紧相邻
void Merge(int a[],int L1,int R1,int L2,int R2){
int i = L1;
int j = L2;
int temp[maxn];//临时数列,用于存放排好序的数列
int