// Map-ын талаар үзэх болно.
#include <iostream> // cin, cout гэх мэт функцийг агуулдаг сан
#include <map> // map агуулдаг сан.
using namespace std;
int main() {
/*
Map гэж юу вэ? гэвэл энэ нь key буюу түлхүүртэй(нэр) массив юм.
Өөрөөр хэлбэл энгийн массивын нэр гэдэг нь индекс нь юм. int, char
бай хамагүй ямар ч индекс нь 0 болон натурал тоонууд. Харин map-ын
хувьд бид өөсрдөө нэрийнхээ төрлийг өгдөг нь хамгийн гол зүйл юм.
map<int,int> m; гэсэн тохиолдолд int төрлийн нэртэй хувьсагч int
төрлийн утга авах юм. Харин map<string,int> m; гэвэл string төрлийн
нэртэй хувьсагч int төрлийн утга авах юм. Харин үүнийг заадаг заагч
байх ба түүнийг iterator гэнэ.
*/
map<string, int> m; // зарлах
map<string, int>:: iterator it; // map-ын iterator зарлах.
m[ "Aaw" ] = 1;
m[ "Eej" ] = 22;
for( it = m.begin(); it != m.end(); it++) {
// бид элемэнт бүрээр эхнээс нь гүйхийн тулд iterator ашиглах
// хэрэгтэй. Тэгээд энэ нь эхлэлээс төгслгөл хүртэл гүйж байна.
cout << it->first << " " << it->second << endl;
// Хэвлэхдээ it->first гэвэл нэр буюу key, it->second гэвэл утгыг
// хэвлэнэ.
}
cout << "----------------------------------------------------\n";
string st = "";
st = "Aaw";
m[ st ] += 100;
for( it = m.begin(); it != m.end(); it++) {
// бид элемэнт бүрээр эхнээс нь гүйхийн тулд iterator ашиглах
// хэрэгтэй. Тэгээд энэ нь эхлэлээс төгслгөл хүртэл гүйж байна.
cout << it->first << " " << it->second << endl;
// Хэвлэхдээ it->first гэвэл нэр буюу key, it->second гэвэл утгыг
// хэвлэнэ.
}
cout << "----------------------------------------------------\n";
st = "Eej";
cout << m[ st ] << endl;
return 0;
}