描述:class="superseo">Map 是 C++ 的一种映射容器,每个元素拥有一个 key 值,和一个对于的映射 map 值,而且没有两个 map 拥有相同的 key 值,意味着 Map 是一种一对多的映射容器。
示例: 代码:#include
#include
#include
#include
#include
using namespace std;
int main() {
// 定义 map 容器,初始为空
map<int , int>container;
// 插入元素
container.insert(pair<int , int>(1 , 10));
container.insert(pair<int , int>(2 , 20));
container.insert(pair<int , int>(3 , 30));
container.insert(pair<int , int>(4 , 40));
container.insert(pair<int , int>(5 , 40));
container.insert(pair<int , int>(6 , 50));
container.insert(pair<int , int>(7 , 60));
container.insert(pair<int , int>(8 , 80));
container.insert(pair<int , int>(9 , 90));
container.insert(pair<int , int>(10 , 100));
// 打印 map
// 定义迭代指针
map<int , int>::iterator itr;
cout<<"The Map container is :"<<endl;
for(itr = container.begin(); itr != container.end(); ++itr) {
cout<<"key : " << itr -> first << " value : " << itr -> second<<endl;
}
// 删除 key = 4 的映射
cout<<endl<<"removed key = 4 : container.erase(4);" <<endl;
container.erase(4);
for(itr = container.begin(); itr != container.end(); ++itr) {
cout<<"key : " << itr -> first << " value : " << itr -> second<<endl;
}
// 输出 key = 3 的 value 值
cout<<endl<<"print key = 3 : cout< <<endl;
cout<<"container[3] :" << container[3]<<endl;
// 利用 lower bound 查找 container 中 key = 5
cout<<endl<<"lower_bond search key = 5 : " <<endl;
cout<<container.lower_bound(5) -> first <<" "<<container.lower_bound(5) -> second<<endl;
return 0;
}
输出:
The Map container is :
key : 1 value : 10
key : 2 value : 20
key : 3 value : 30
key : 4 value : 40
key : 5 value : 40
key : 6 value : 50
key : 7 value : 60
key : 8 value : 80
key : 9 value : 90
key : 10 value : 100
removed key = 4 : container.erase(4);
key : 1 value : 10
key : 2 value : 20
key : 3 value : 30
key : 5 value : 40
key : 6 value : 50
key : 7 value : 60
key : 8 value : 80
key : 9 value : 90
key : 10 value : 100
print key = 3 : cout<
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)