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;
}

 

 

posted @ 2021-09-23 21:39  磐正  阅读(11)  评论(0)    收藏  举报