// Queue-ын талаар үзэх болно.
#include <iostream> // cin, cout гэх мэт функцийг агуулдаг сан
#include <queue> // queue-г агуулдаг сан.
using namespace std;
int main() {
/*
queue гэж юу вэ гэвэл энэ нь бас нэгэн төрлийн массив
ба энэ массив нь арай өөр бүтэцтэй. Бид энэ массивт
элемэнт нэмж мөн хамгийн урд талын элемэнтийг устгаж,
мөн мэдэж чадах юм. Мөн эдгээр үйлдлийг 1 үйлдлээр
хийдэг. Үүнийг бид вектор ашиглан хийж болох ч урд
талын элемэнтийг устгахад олон үйлдэл хийх болно. Тиймээс
хугацааны хувьд удаан. Харин энгийн массиваар бичиж болно.
Гэхдээ үүнийг ашиглах нь бичиглэлийн хувьд илүү амар юм.
Саяны бичсэнчлэн бид queue-ын 2 дахь элемэнт 3 гэх мэт
элемэнтийг мэдэж чадахгүйг анхаарах хэрэгтэй.
*/
queue <int> q; // int төрлийн утга авах q гэсэн нэртэй
// queue ба анх хоосон байгаа.
q.push( 12 ); // хамгийн ард нь элемэнт нэмж байна.
q.push( 23 ); // хамгийн ард нь элемэнт нэмж байна.
q.push( -2 ); // хамгийн ард нь элемэнт нэмж байна.
int k = q.front(); // k-д queue байгаа хамгийн урд талын
// элемэнтийн утгыг оноож байна.
cout << k << endl; // хэвлэх
q.pop(); // хамгийн урд талын элемэнтийг устгах.
k = q.size(); // одоо байгаа элемэнтийн тоо.
cout << k << endl;
k = q.front(); // k-д queue байгаа хамгийн урд талын
// элемэнтийн утгыг оноож байна.
cout << k << endl;
return 0;
}