Mógłby ktoś mi wytłumaczyć dlaczego jeśli kolejka jest pusta to przypisuje do niej bardzo duza liczbę? co to ma na celu?
if (!kolejka2.empty()) {
glowaKolejki2 = kolejka2.front();
} else {
glowaKolejki2 = BARDZO_DUZA_LICZBA;
}
A tutaj wstawiam cały kod :
#include <iostream>
#include <cmath>
#include <iomanip>
#include <queue>
using namespace std;
queue <int> kolejka1;
queue <int> kolejka2;
queue <int> wynikowa;
#define BARDZO_DUZA_LICZBA 1000000
int glowaKolejki1 = BARDZO_DUZA_LICZBA;
int glowaKolejki2 = BARDZO_DUZA_LICZBA;
int main()
{
kolejka1.push(2);
kolejka1.push(4);
kolejka1.push(5);
kolejka1.push(6);
kolejka1.push(8);
kolejka1.push(9);
kolejka1.push(10);
kolejka2.push(3);
kolejka2.push(7);
kolejka2.push(14);
kolejka2.push(15);
if (!kolejka1.empty()) {
glowaKolejki1 = kolejka1.front();
}
if (!kolejka2.empty()) {
glowaKolejki2 = kolejka2.front();
}
do
{
if(glowaKolejki1 <= glowaKolejki2) {
wynikowa.push(glowaKolejki1);
kolejka1.pop();
if (!kolejka1.empty()) {
glowaKolejki1 = kolejka1.front();
} else {
glowaKolejki1 = BARDZO_DUZA_LICZBA;
}
} else {
wynikowa.push(glowaKolejki2);
kolejka2.pop();
if (!kolejka2.empty()) {
glowaKolejki2 = kolejka2.front();
} else {
glowaKolejki2 = BARDZO_DUZA_LICZBA;
}
}
} while(!(kolejka1.empty() && kolejka2.empty()));
while(!wynikowa.empty())
{
cout << wynikowa.front() << endl;
wynikowa.pop();
}
return 0;
}