如何在字符串的映射中插入数据?
地图是关联容器,以特定顺序存储元素。它将元素存储在键值和映射值的组合中。
语法:
map<data type of key, data type of value> M
要在 C++ 中对地图使用上述语法,必须包含以下头文件: 头文件:
#include <map>
要在地图中插入数据,使用地图中的插入()功能。它用于在地图容器中插入具有特定键的元素。
语法:
iterator map_name.insert({key, element})
参数:它接受一个由要插入到地图容器中的键和元素组成的对,但它只插入唯一的键。这意味着,如果键已经存在于地图中,则该函数不会在地图中插入键和元素。
返回值:返回一个迭代器,指向地图中的新元素。
下面是同样的程序来说明:
C++
// C++ program to store the string as
// the map value
#include <iostream>
#include <map>
using namespace std;
// Driver code
int main()
{
// Get the Strings
string s = "abc";
string s1 = "bca";
string s2 = "cba";
// Declare map with both value
// and key having string data_type
map<string, string> m;
// Insert the string in the map
m.insert(pair<string, string>(s1, s));
m.insert(pair<string, string>(s, s2));
// Print the elements stored
// in the map
for (auto itr = m.begin();
itr != m.end(); ++itr) {
cout << itr->first << '\t'
<< itr->second << '\n';
}
return 0;
}
Output:
abc cba
bca abc
还有一种方法将数据存储在地图中,下面是同样的语法:
语法:
iterator map_name.insert(iterator position, {key, element})
参数:该函数接受两个参数,如下所述:
- {key,element}: 这指定了一个由要插入到地图容器中的 key 和 element 组成的对。
- 位置:它只指向开始插入的搜索操作的位置,以使过程更快。插入是根据容器遵循的顺序进行的。
返回值:函数返回一个迭代器,指向容器中的新元素。
下面是同样的程序来说明:
C++
// C++ program to illustrate the map
// insert(iteratorposition, {key, element})
#include <iostream>
#include <map>
using namespace std;
// Driver Code
int main()
{
// Initialize a Map mp
map<string, int> mp;
// Insert elements in random order
mp.insert({ "abc", 30 });
mp.insert({ "bcd", 40 });
auto it = mp.find("bcd");
// Insert {"dcd", 60} starting the
// search from position where 2
// is present
mp.insert(it, { "dcd", 60 });
// Print the element
cout << "KEY\tELEMENT\n";
for (auto itr = mp.begin();
itr != mp.end(); ++itr) {
cout << itr->first << '\t'
<< itr->second << '\n';
}
return 0;
}
Output:
KEY ELEMENT
abc 30
bcd 40
dcd 60
版权属于:月萌API www.moonapi.com,转载请注明出处