void guibing(int begin,int end,int *p)
{
if(end==begin+1)
return ;
if(end==begin)
return ;
int mid=(begin+end)/2;
guibing(begin,mid,p);
guibing(mid,end,p);
int stack1[100];
int s1=0;
int stack2[100];
int s2=0;
for(int i=begin;i<mid;i++)
stack1[s1++]=p[i];
for(int i=mid;i<end;i++)
stack2[s2++]=p[i];
int l1=0;
int l2=0;
int a=begin;
while(l1!=s1&&l2!=s2)
{
if(stack1[l1]<stack2[l2])
{
p[a++]=stack1[l1++];
}
else
{
p[a++]=stack2[l2++];
}
}
while(l1!=s1)
{
p[a++]=stack1[l1++];
}
while(l2!=s2)
{
p[a++]=stack2[l2++];
}
}