Map-ын тухай.
Map гэж юу вэ? гэвэл энэ нь key буюу түлхүүртэй(нэр) массив. Өөрөөр хэлбэл энгийн массивын нэр гэдэг нь индекс нь юм. int, char бай хамаагүй ямар ч индекс нь 0 болон натурал тоонууд юм. Харин map-ын хувьд бид өөсрдөө нэрийнхээ төрлийг өгдөг нь хамгийн гол зүйл юм. map<int,int> m; гэсэн тохиолдолд int төрлийн нэртэй хувьсагч int төрлийн утга авах юм. Харин map<string,int> m; гэвэл string төрлийн нэртэй хувьсагч int төрлийн утга авах юм. Харин үүнийг заадаг заагч байх ба түүнийг iterator гэнэ. Доорхи код энэ хаягдээр байгаа болно.
- // 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;
- }
shunah
ReplyDelete