Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int*merge (int*left, int*right, int ln, int rn){
  7.     int* arr=new int [ln+rn];
  8.     int l=0,r=0,k=0;
  9.     while (l<ln && r<rn){
  10.         if(left[l]<=right[r]){
  11.             arr [k]=left[l];
  12.             l++;k++;
  13.         }
  14.         else {
  15.             arr[k]=right[r];
  16.             r++;k++;
  17.         }
  18.     }
  19.  
  20.     while (l<ln){
  21.         arr[k]=left[l];
  22.         l++;k++;
  23.     }
  24.     while (r<rn){
  25.         arr[k]=right[r];
  26.         r++;k++;
  27.     }
  28.     return arr;
  29. }
  30.  
  31. void print(int * arr, int n) {
  32.     for (int i = 0; i < n; i++) {
  33.         cout << arr[i] << " ";
  34.     }
  35.     cout << endl;
  36. }
  37.  
  38. int main()
  39. {
  40.     int left[6] = {17,35,40,79,101,110};
  41.     int right[8] = {1,7,15,23,48,54,70,81};
  42.     print(left, 6);
  43.     print(right, 8);
  44.     int * result = merge(left, right, 6, 8);
  45.     print(result, 14);
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement