Get Update on recent Technology & Programming

Friday, 10 November 2017

C Program of merging two sorted arrays into a third sorted array

Posted by   on Pinterest



C Program of merging two sorted arrays into a third sorted array





#include<stdio.h>

#define MAX 100

void merge(int arr1[],int arr2[],int arr3[],int n1,int n2);

int main(void)

{

	int arr1[MAX],arr2[MAX],arr3[2*MAX],n1,n2,i;

	printf("Enter the number of elements in array 1 : ");

	scanf("%d",&n1);

	printf("Enter all the elements in sorted order :\n");

	for(i=0; i<n1; i++)

	{

		printf("Enter element %d : ",i+1);

		scanf("%d",&arr1[i]);

	}

	printf("Enter the number of elements in array 2 : ");

	scanf("%d",&n2);

	printf("Enter all the elements in sorted order :\n");

	for(i=0; i<n2; i++)

	{

		printf("Enter element %d : ",i+1);

		scanf("%d",&arr2[i]);

	}

	merge(arr1,arr2,arr3,n1,n2);

	printf("\nMerged list : ");

	for(i=0; i<n1+n2; i++)

		printf("%d ",arr3[i]);

	printf("\n");

	return 0;

}

void merge(int arr1[],int arr2[],int arr3[],int n1,int n2)

{

	int i,j,k;

	i=0;  /*Index for first array*/

	j=0;  /*Index for second array*/

	k=0;  /*Index for merged array*/

	while((i<=n1-1)&&(j<=n2-1))

	{

		if(arr1[i]<arr2[j])

			arr3[k++]=arr1[i++];

		else

			arr3[k++]=arr2[j++];

	}

	while(i<=n1-1) /*Put remaining elements of arr1 into arr3*/

		arr3[k++]=arr1[i++];

	while(j<=n2-1) 	/*Put remaining elements of arr2 into arr3*/

		arr3[k++]=arr2[j++];

}/*End of merge()*/





No comments:
Write comments

Hey, we've just launched a new custom color Blogger template. You'll like it -
Join Our Newsletter