C ++ stl-map / multimapコンテナの概念と使用法
マップの基本概念:
前書き:
マップ内のすべての要素はペアです
ペアの最初の要素はキー(キー値)であり、これはインデックスとして機能し、2番目の要素は値(実際の値)です。
すべての要素は、要素のキー値に従って自動的に並べ替えられます
自然:
map / multimapは連想コンテナであり、基礎となる構造はバイナリツリーで実装されます
利点:
キー値に基づいて、
値値マップとマルチマップの違いをすばやく見つけることができます。
マップでは
コンテナ内のキー値要素の重複は許可されませんマルチマップではコンテナ内の値キー値要素の重複が許可されます
マップの構築と割り当て
機能の説明:
値を作成してマップコンテナに割り当てます。
関数プロトタイプ:
構造:
map<T1, T2>mp; //map默认构造函数
map(const map &mp); //拷贝构造函数
割り当て:
map& operator=(const map &mp); //重载等号操作符
コード例:
#include<iostream>
#include<map>
using namespace std;
//map容器 构造和赋值
void printMap(map<int,int>&m)
{
for (map<int, int>::iterator it = m.begin(); it != m.end(); it++)
{
cout << "key=" << (*it).first << " value=" << it->second << endl;
}
cout << endl;
}
void test01()
{
//创建map容器
map<int, int>m;
m.insert(pair<int, int>(1, 10));
m.insert(pair<int, int>(2, 20));
m.insert(pair<int, int>(3, 30));
m.insert(pair<int, int>(4, 40));
printMap(m);
//拷贝构造
map<int, int>m2(m);
printMap(m2);
//赋值
map<int, int>m3;
m3 = m2;
printMap(m3);
}
int main()
{
test01();
system("pause");
return 0;
}
概要:マップ内のすべての要素はペアで表示されます。データを挿入するときはペアを使用する必要があります。