Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std ;
- #define M 1000000
- #define pf printf
- #define sf scanf
- #define sf1(x) scanf("%d",&x)
- #define sf2(x,y) scanf("%d %d",&x,&y)
- #define pf1(x) printf("%d\n",x)
- #define pf2(x,y) printf("%d %d\n",x,y)
- #define rep(i,n) for(i = 0 ;i< n ; i++)
- #define pb push_back
- typedef long long ll ;
- void merge(int arr[],int arr1[], int num1 ,int arr2[],int num2 )
- {
- int i , j ,k , count1 , count2;
- count1 = 0;
- count2 = 0;
- i = 0;
- while(count1< num1 && count2< num2){
- if(arr1[count1] <= arr2[count2])
- arr[i++] = arr1[count1++];
- else
- arr[i++] = arr[count2++];
- }
- while(count1 < num1) arr[i++] = arr1[count1++];
- while(count2 < num2) arr[i++] = arr2[count2++];
- return ;
- }
- int main(){
- // freopen("in.txt ","r",stdin);
- //freopen("out.txt ","w",stdout);
- int i , j , k, tc ;
- int num1, num2;
- int *arr , *arr1, *arr2 ;
- cout << "Enter number of elements in array1 & array2\n";
- sf2(num1, num2);
- arr1 = (int*) malloc(sizeof(int)* num1);
- arr2 = (int*) malloc(sizeof(int)* num2);
- arr = (int*) malloc(sizeof(int)* (num1+num2));
- cout << "Enter elements in array1(sorted)\n";
- for(i= 0 ;i < num1 ;i++)
- sf1(arr1[i]);
- cout << "Enter elements in array2(sorted)\n";
- for(i= 0 ;i < num2 ;i++)
- sf1(arr2[i]);
- merge(arr, arr1, num1, arr2, num2);
- cout << "merged list\n";
- for(i = 0 ;i< num1+num2 ;i++)
- pf("%d ",arr[i]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement