Skip to main content

Map

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

  1. // Map-ын талаар үзэх болно.  
  2.    
  3. #include <iostream> // cin, cout гэх мэт функцийг агуулдаг сан  
  4. #include <map> // map агуулдаг сан.  
  5. using namespace std;  
  6.    
  7. int main() {  
  8.     /* 
  9.         Map гэж юу вэ? гэвэл энэ нь key буюу түлхүүртэй(нэр) массив юм. 
  10.         Өөрөөр хэлбэл энгийн массивын нэр гэдэг нь индекс нь юм. int, char 
  11.         бай хамагүй ямар ч индекс нь 0 болон натурал тоонууд. Харин map-ын 
  12.         хувьд бид өөсрдөө нэрийнхээ төрлийг өгдөг нь хамгийн гол зүйл юм.  
  13.         map<int,int> m; гэсэн тохиолдолд int төрлийн нэртэй хувьсагч int  
  14.         төрлийн утга авах юм. Харин map<string,int> m; гэвэл string төрлийн  
  15.         нэртэй хувьсагч int төрлийн утга авах юм. Харин үүнийг заадаг заагч 
  16.         байх ба түүнийг iterator гэнэ. 
  17.     */  
  18.     map<string, int> m; // зарлах  
  19.     map<string, int>:: iterator it; // map-ын iterator зарлах.  
  20.    
  21.     m[ "Aaw" ] = 1;  
  22.     m[ "Eej" ] = 22;  
  23.    
  24.     for( it = m.begin(); it != m.end(); it++) {  
  25.         // бид элемэнт бүрээр эхнээс нь гүйхийн тулд iterator ашиглах  
  26.         // хэрэгтэй. Тэгээд энэ нь эхлэлээс төгслгөл хүртэл гүйж байна.  
  27.         cout << it->first << " " << it->second << endl;  
  28.         // Хэвлэхдээ it->first гэвэл нэр буюу key, it->second гэвэл утгыг  
  29.         // хэвлэнэ.  
  30.     }  
  31.     cout << "----------------------------------------------------\n";  
  32.     string st = "";  
  33.     st = "Aaw";  
  34.    
  35.     m[ st ] += 100;  
  36.    
  37.     for( it = m.begin(); it != m.end(); it++) {  
  38.         // бид элемэнт бүрээр эхнээс нь гүйхийн тулд iterator ашиглах  
  39.         // хэрэгтэй. Тэгээд энэ нь эхлэлээс төгслгөл хүртэл гүйж байна.  
  40.         cout << it->first << " " << it->second << endl;  
  41.         // Хэвлэхдээ it->first гэвэл нэр буюу key, it->second гэвэл утгыг  
  42.         // хэвлэнэ.  
  43.     }  
  44.     cout << "----------------------------------------------------\n";  
  45.     st = "Eej";  
  46.     cout << m[ st ] << endl;  
  47.     return 0;  
  48. }  

Comments

Post a Comment