C++如何插入字符串映射的数据
映射是一种按特定顺序存储元素的关联容器。它按键值和映射值的组合存储元素。
语法:
map<键的数据类型, 值的数据类型> M
在C++中使用上述映射语法时,需要包含以下头文件:
头文件:
#include <map>
在映射容器中使用insert()函数插入数据。它用于在映射容器中插入具有特定键的元素。
语法:
iterator map_name.insert({key, element})
参数: 它接受一个由键和要插入映射容器的元素组成的对,但仅插入唯一的键。这意味着,如果键已经存在于映射中,该函数将不会插入键和元素。
返回值: 它返回一个指向映射中新元素的迭代器。
以下是说明相同的程序:
// C++程序以字符串形式存储为映射值
#include <iostream>
#include <map>
using namespace std;
// 主函数
int main()
{
// 获取字符串
string s = "abc";
string s1 = "bca";
string s2 = "cba";
// 声明映射,包括字符串数据类型的键和值
map<string, string> m;
// 在映射中插入字符串
m.insert(pair<string, string>(s1, s));
m.insert(pair<string, string>(s, s2));
// 打印在映射中存储的元素
for (auto itr = m.begin(); itr != m.end(); ++itr) {
cout << itr->first << '\t' << itr->second << '\n';
}
return 0;
}
abc cba
bca abc
还有另一种方法可以将数据存储在映射中,其语法如下:
语法:
iterator map_name.insert(iterator position, {key, element})
参数: 该函数接受以下两个参数:
- {key, element}: 这指定一个由键和要插入映射容器的元素组成的对。
- position: 它只指向要从其开始执行插入操作的位置,以使过程更快。插入是根据容器遵循的顺序完成的。
返回值: 该函数返回一个指向容器中新元素的迭代器。
以下是说明相同的程序:
// C++程序说明map insert(iteratorposition, {key, element})
#include <iostream>
#include <map>
using namespace std;
// 主函数
int main()
{
// 初始化一个映射mp
map<string, int> mp;
// 以随机顺序插入元素
mp.insert({ "abc", 30 });
mp.insert({ "bcd", 40 });
auto it = mp.find("bcd");
// 从位置2开始搜索,插入{"dcd", 60}
mp.insert(it, { "dcd", 60 });
// 打印元素
cout << "KEY\tELEMENT\n";
for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
cout << itr->first << '\t' << itr->second << '\n';
}
return 0;
}
关键字 元素
abc 30
bcd 40
dcd 60