std::map
是C++標準庫中的一個關聯容器,用于存儲鍵值對。std::map
內部使用紅黑樹(Red-Black Tree)來實現,保證了鍵值對的有序性。
使用std::map
可以按照鍵值對的鍵來快速查找對應的值,時間復雜度為O(log n)。可以通過std::map
的成員函數來插入、刪除、查找元素,并且還支持遍歷操作。
以下是std::map
的一些常用方法:
insert(key, value)
:向map中插入一個鍵值對。erase(key)
:刪除map中指定鍵對應的鍵值對。find(key)
:查找map中指定鍵對應的值。begin()
和end()
:返回指向map第一個元素和最后一個元素的迭代器,用于遍歷map中的元素。size()
:返回map中元素的個數。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
插入、查找、刪除元素,并遍歷map中的所有元素。