Informatică, întrebare adresată de catalinsilipas, 8 ani în urmă

Interclasarea a doua siruri sortate
Se dau două șiruri v și w cu N respectiv M elemente întregi în ordine crescătoare. Să se afișeze elementele celor două șiruri în ordine crescătoare.

Date de intrare
De la tastatură se va citi numărul N și un șir de N numere întregi, reprezentând elementele șirului v. Pe urmă se va citi numărul M și un șir de M numere întregi.

Date de ieșire
Pe ecran se vor afișa elementele celor două șiruri în ordine crescătoare.

Restricții și precizări
1 ≤ N, M ≤ 100 000

-2 000 000 000 ≤ v[i], w[i] ≤ 2 000 000 000

Exemplu
Date de intrare Date de ieșire
3
1 4 6
4
-1 0 2 7
Mentiune: Varianta NU trebuie sa contina un al treilea sir, ci trebuie doar sa ordoneze aceste doua siruri crescator si sa afiseze aceasta ordonare)

Răspunsuri la întrebare

Răspuns de sanzianagrecu
4

#include<iostream>

using namespace std;

int v[100001], w[100001], x[200002];

int main()

{

   int n, m;

   cin >> n;

   for(int i = 1; i <= n; i++)

       cin >> v[i];

   cin >> m;

   for(int i = 1; i <= m; i++)

       cin >> w[i];

   int k = 0, i = 1, j = 1;

   while(i <= n && j <= m){

       if(v[i] < w[j])

           x[++k] = v[i], i++;

       else

           x[++k] = w[j], j++;

   }

   while(i <= n)

       x[++k] = v[i], i++;

   while(j <= m)

       x[++k] = w[j], j++;

   for(int i = 1; i <= k; i++)

       cout << x[i] << ' ';

   return 0;

}

Nota: pentru a intelege acest algoritm, iti recomand sa te uiti la videoclipul acesta:  https://www.youtube.com/watch?v=H73KtBSAf1w

(daca nu merge cauta pe youtube "zecelainfo interclasare", de aici am invatat si eu)

Alte întrebări interesante