void main()
{
int a[10]={1,2,4,8},b[4]={3,4,5,6},i;
mearge(a,b,4);
for(i=0;i<8;i++)
printf("%d ",a[i]);
}
Esempio n. 2
0
void mearge_sort(int * array, int left, int right)
{
	int mid;
	if(left < right){
		mid = (left+right)/2;
		mearge_sort(array, left, mid);
		mearge_sort(array, mid+1, right);
		mearge(array, left, right, mid);
	}
}
void mearge_sort(int a[],int size)
{
    if(size>1)
{
   int b[size/2+1],c[size/2+1],size_b,size_c;
   partition(a,b,c,size);//partition
   if(size&1)
     size_b=size/2 +1;
     else
     size_b=size/2;

   size_c=size-size_b;
///sort
   mearge_sort(b,size_b);printf("line---%d.. \n",__LINE__);
   mearge_sort(c,size_c);
///merge
   mearge(a,b,c,size_b,size_c);
    }else
    return;
}