map::insert()是C++ STL中的內置函數,用於在Map容器中插入具有特定鍵的元素。
- 用法:
iterator map_name.insert({key, element})
參數:該函數接受一對,該對包括要插入Map容器的鍵和元素。如果鍵已經存在於Map中,則該函數不會在Map中插入鍵和元素。
返回值:該函數返回一個指向容器中新元素的迭代器。
下麵是上述語法的說明:
// C++ program to illustrate // map::insert({key, element}) #include <bits/stdc++.h> using namespace std; int main() { // initialize container map<int, int> 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; }
輸出:KEY ELEMENT 1 40 2 30 3 60 5 50
- 用法:
iterator map_name.insert(iterator position, {key, element})
參數:該函數接受兩個參數,如下所述:
- {{key, element}這指定了一個由鍵和要插入Map容器中的元素組成的對。
- position:這並不指定要插入的位置,它僅指向要開始進行插入搜索操作的位置,以加快處理速度。插入是根據Map容器遵循的順序完成的。
返回值:該函數返回一個指向容器中新元素的迭代器。
下麵是上述語法的說明:
// C++ program to illustrate // map::insert({key, element}) #include <bits/stdc++.h> using namespace std; int main() { // initialize container map<int, int> mp; // insert elements in random order mp.insert({ 2, 30 }); mp.insert({ 1, 40 }); auto it = mp.find(2); // inserts {3, 6} 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)內的所有元素都插入到另一個Map容器中。
返回值:該函數返回一個指向容器中新元素的迭代器。
下麵是上述語法的說明:
// C++ program to illustrate // map::insert({key, element}) #include <bits/stdc++.h> using namespace std; int main() { // initialize container map<int, int> 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++ multimap insert()用法及代碼示例
- C++ unordered_multimap insert()用法及代碼示例
- C++ set insert()用法及代碼示例
- C++ std::string::insert()用法及代碼示例
- C++ unordered_map insert用法及代碼示例
- C++ list insert()用法及代碼示例
- C++ vector insert()用法及代碼示例
- C++ unordered_multiset insert()用法及代碼示例
- C++ unordered_set insert()用法及代碼示例
- C++ multiset insert()用法及代碼示例
- C++ deque insert()用法及代碼示例
注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 map insert() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。