Lhesnor

Untitled

Nov 23rd, 2021 (edited)
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1. #include "iostream"
  2.  
  3. int *Merge(const int *a, const int *b, const int &k, const int &m) {
  4.   int i = 0, j = 0, p = 0;
  5.   int *c = new int[m + k];
  6.   while (i < k && j < m) {
  7.     if (a[i] <= b[j]) {
  8.       c[p] = a[i];
  9.       ++i;
  10.       ++p;
  11.     } else {
  12.       c[p] = b[j];
  13.       ++j;
  14.       ++p;
  15.     }
  16.   }
  17.   while (i < k) {
  18.     c[p] = a[i];
  19.     i++;
  20.     p++;
  21.   }
  22.   while (j < m) {
  23.     c[p] = b[j];
  24.     j++;
  25.     p++;
  26.   }
  27.   return c;
  28. }
  29.  
  30. int main() {
  31.   int n, k, m = 0;
  32.   std::cin >> n;
  33.   int *c = new int[1];
  34.   for (int i = 0; i < n; ++i) {
  35.     std::cin >> k;
  36.     int *a = new int[k];
  37.     for (int j = 0; j < k; ++j) {
  38.       std::cin >> a[j];
  39.     }
  40.     int *temp = Merge(a, c, k, m);
  41.     delete[] c;
  42.     c = temp;
  43.     m = m + k;
  44.     delete[] a;
  45.   }
  46.   for (int i = 0; i < m; ++i) {
  47.     std::cout << c[i] << ' ';
  48.   }
  49.   delete[] c;
  50. }
Add Comment
Please, Sign In to add comment