map :: insert()是C++ STL中的内置函数,用于在地图容器中插入具有特定键的元素。
- 句法:
iterator map_name.insert({key, element})
参数:该函数接受一对,该对包括要插入地图容器的键和元素。如果键已经存在于地图中,则该函数不会在地图中插入键和元素。
返回值:该函数返回一个迭代器,该迭代器指向容器中的新元素。
下面是上述语法的说明:
C++
// C++ program to illustrate
// map::insert({key, element})
#include
using namespace std;
int main()
{
// initialize container
map mp;
// insert elements in random order
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
mp.insert({ 3, 60 });
// does not inserts key 2 with element 20
mp.insert({ 2, 20 });
mp.insert({ 5, 50 });
// prints the elements
cout << "KEY\tELEMENT\n";
for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
C++
// C++ program to illustrate
// map::insert(iteratorposition, {key, element})
#include
using namespace std;
int main()
{
// initialize container
map mp;
// insert elements in random order
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
auto it = mp.find(2);
// inserts {3, 60} starting the search from
// position where 2 is present
mp.insert(it, { 3, 60 });
// prints the elements
cout << "KEY\tELEMENT\n";
for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
C++
// C++ program to illustrate
// map::insert(iteratorposition1, iteratorposition2)
#include
using namespace std;
int main()
{
// initialize container
map mp, mp1;
// insert elements in random order
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
// inserts all elements in range
// [begin, end) in mp1
mp1.insert(mp.begin(), mp.end());
// prints the elements
cout << "Elements in mp1 are\n";
cout << "KEY\tELEMENT\n";
for (auto itr = mp1.begin(); itr != mp1.end(); ++itr) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
输出:
KEY ELEMENT
1 40
2 30
3 60
5 50
- 句法:
iterator map_name.insert(iterator position, {key, element})
参数:该函数接受两个参数,如下所述:
- {key,element}:这指定了一个对,该对由要插入地图容器的键和元素组成。
- position:此位置不指定要插入的位置,它仅指向要开始搜索插入操作的位置,以加快处理速度。插入是根据地图容器遵循的顺序完成的。
返回值:该函数返回一个迭代器,该迭代器指向容器中的新元素。
下面是上述语法的说明:
C++
// C++ program to illustrate
// map::insert(iteratorposition, {key, element})
#include
using namespace std;
int main()
{
// initialize container
map mp;
// insert elements in random order
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
auto it = mp.find(2);
// inserts {3, 60} starting the search from
// position where 2 is present
mp.insert(it, { 3, 60 });
// prints the elements
cout << "KEY\tELEMENT\n";
for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
输出:
KEY ELEMENT
1 40
2 30
3 60
- 句法:
iterator map_name.insert(iterator position1, iterator position2)
参数:该函数接受两个参数position1和position2 ,它们指定元素的范围。范围[position1,last)中的所有元素都插入到另一个地图容器中。
返回值:该函数返回一个迭代器,该迭代器指向容器中的新元素。
下面是上述语法的说明:
C++
// C++ program to illustrate
// map::insert(iteratorposition1, iteratorposition2)
#include
using namespace std;
int main()
{
// initialize container
map mp, mp1;
// insert elements in random order
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
// inserts all elements in range
// [begin, end) in mp1
mp1.insert(mp.begin(), mp.end());
// prints the elements
cout << "Elements in mp1 are\n";
cout << "KEY\tELEMENT\n";
for (auto itr = mp1.begin(); itr != mp1.end(); ++itr) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
输出:
Elements in mp1 are
KEY ELEMENT
1 40
2 30
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。