C++ STL map 详解:插入、遍历和键值对操作

本示例展示如何使用 C++ STL 的 map 容器来存储和操作键值对,包括插入、遍历和输出等操作。

#include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <list>
#include <map>
#include <algorithm>

using namespace std;
/*
template<typename T1, typename T2>
struct pair
{
	T1 first;
	T2 second;	
};
*/
int main()
{	// map<key_t, value_t>
	map<string, int> mp;   
	mp["one"] = 1;  
//	mp["one"] = 2;  
	mp.insert(make_pair("one", 2));
	mp.insert(make_pair("two", 20));
	mp.insert(pair<string, int>("three", 3));
	mp.insert(map<string, int>::value_type("four", 4));
/*	map<string, int>::iterator it;
	for(it = mp.begin(); it != mp.end(); it++) {
		cout << "key " << it->first << " value " << it->second << endl;
	}
	*/
	/*
	for(const auto &pr : mp) {
		cout << "key " << pr.first << " value " << pr.second << endl;	
	}*/
	for(const auto &[key, value] : mp) {
		cout << "key " << key << " value " << value << endl;	
	}
	return 0;
}

代码解释:

  • 第 1 行代码包含了 iostream 库的头文件,用于输入输出操作。
  • 第 2 行代码包含了 vector 库的头文件,用于定义和操作动态数组。
  • 第 3 行代码包含了 stack 库的头文件,用于定义和操作栈数据结构。
  • 第 4 行代码包含了 queue 库的头文件,用于定义和操作队列数据结构。
  • 第 5 行代码包含了 list 库的头文件,用于定义和操作链表数据结构。
  • 第 6 行代码包含了 map 库的头文件,用于定义和操作键值对数据结构。
  • 第 8 行代码使用了命名空间 std,表示使用标准库的函数和类。
  • 第 11 行代码定义了一个 map 对象 mp,键的类型为 string,值的类型为 int
  • 第 13 行代码将键为 "one" 的值设置为 1
  • 第 15 行代码将键为 "one" 的值设置为 2,覆盖了之前的值。
  • 第 17 行代码使用 insert 函数将键为 "one",值为 2 的键值对插入到 map 中。
  • 第 18 行代码使用 insert 函数将键为 "two",值为 20 的键值对插入到 map 中。
  • 第 19 行代码使用 insert 函数将键为 "three",值为 3 的键值对插入到 map 中。
  • 第 20 行代码使用 insert 函数将键为 "four",值为 4 的键值对插入到 map 中。
  • 第 23 行代码使用迭代器遍历 map 中的每个键值对,并输出键和值。
  • 第 29 行代码使用范围 for 循环遍历 map 中的每个键值对,并输出键和值。
  • 第 33 行代码使用结构化绑定和范围 for 循环遍历 map 中的每个键值对,并输出键和值。
  • 第 35 行代码表示程序执行成功,返回 0

本示例展示了使用 map 容器的几种基本操作,包括插入、遍历和输出。你可以根据自己的需求对 map 容器进行更深入的探索和学习。

C++ STL map 详解:插入、遍历和键值对操作

原文地址: https://www.cveoy.top/t/topic/quzr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录