C++ STL(6):Map

C++ STL(6):Map,第1张

Map:

描述:class="superseo">MapC++ 的一种映射容器,每个元素拥有一个 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<

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/742412.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)