C++ std::map の基本と使い方【サンプルコード付き】
std::mapは、C++の標準ライブラリの連想コンテナであり、キーと値のペアを格納するために使用されます。std::map内部では赤黒木を使用しており、キーと値のペアの順序が保証されています。
std::mapを使用すると、キーに基づいて値を迅速に検索することができ、時間複雑度はO(log n)です。std::mapのメンバー関数を使用して要素の挿入、削除、検索ができ、さらに反復処理もサポートしています。
std::mapの一般的なメソッドには以下があります:
- キーと値を指定して、マップに要素を挿入します。
- keyを削除する:map内の指定されたキーに対応するキーバリューペアを削除します。
- find(key):マップ内の指定されたキーに対応する値を見つける。
- begin()とend()は、map内の要素を走査するために、最初の要素と最後の要素を指すイテレータを返します。
- size()メソッド:マップ内の要素の数を返します。
- empty()関数はmapが空かどうかを判断します。
コード例:
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
myMap.insert(std::make_pair(1, "apple"));
myMap.insert(std::make_pair(2, "banana"));
myMap.insert(std::make_pair(3, "cherry"));
std::map<int, std::string>::iterator it;
for (it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << " => " << it->second << std::endl;
}
if (myMap.find(2) != myMap.end()) {
std::cout << "Found key 2 with value: " << myMap[2] << std::endl;
}
myMap.erase(3);
std::cout << "Map size: " << myMap.size() << std::endl;
return 0;
}
std::mapを使用して要素を挿入、検索、削除し、すべての要素を走査する方法を示すコードが上記に示されています。