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