void re(int *b,int x,int y,int *t){
if(y-x>1){//递归退出条件
int m = x+(y-x)/2;
int p = x,q=m,i=x;
re(b,x,m,t);
re(b,m,y,t);
while(p<m||q<y){//合并两个子问题;
if(q>=y||(p<m&&b[p]<=b[q])) t[i++] = b[p++];
else t[i++] = b[q++];
}
for(i=x;i<y;i++) b[i] = t[i];
}
}