算法二:归并排序–分治
//1.确定分界点 – 下标的中间值mid
//2.递归排序左右 log(n)
//3.归并–合二为一 O(n)
#includeusing namespace std; const int N=1e6+10; int q[N],tmp[N]; void merge_sort(int q[],int l,int r) { if (l>=r)return;//判断数组长度如果小与等于1,则返回。 int mid=l+r>>1;//确定分界线 merge_sort(q,l,mid),merge_sort(q,mid+1,r); //左右递归 int k=0,i=l,j=mid+1; while(i<=mid && j<=r) { if(q[i]



