2011 42 归并排序
#include<stdio.h>
void MergeSort(int* pa,int* pb)
{
int arr[12];
int a,b,i;
a=b=0;
for(i=0;i<12&&a<6&&b<6;i++)
{
if(*(pa+a)<=*(pb+b))
{
arr[i]=*(pa+a);
a++;
}
else
{
arr[i]=*(pb+b);
b++;
}
}
while(a==6&&b<6)
{
arr[i]=*(pb+b);
i++;
b++;
}
while(a==6&&b<6)
{
arr[i]=*(pa+a);
i++;
a++;
}
for(int j=0;j<12;j++)
{
printf("%d ",arr[j]);
}
printf("\n");
}
int main()
{
int a[6]={5,15,18,26,31,42};
int b[6]={3,9,21,25,36,48};
int *pa,*pb;
pa=a;
pb=b;
MergeSort(pa,pb);
return 0;
}


浙公网安备 33010602011771号