地图是 关联容器 以映射的方式存储元素。每个元素都有一个键值和一个映射值。没有两个映射值可以具有相同的键值。
null
与地图相关的一些基本功能:
- 开始 –将迭代器返回到映射中的第一个元素。
- 结束() –将迭代器返回到映射中最后一个元素后面的理论元素。
- 大小() –返回映射中的元素数。
- 最大尺寸() –返回贴图可以容纳的最大元素数。
- 空的() –返回地图是否为空。
- 成对插入(keyvalue、mapvalue) –向地图中添加新元素。
- 擦除(迭代器位置) –在迭代器指向的位置删除元素。
- 擦除(常数g) –从映射中删除键值“g”。
- 清除() –从地图中删除所有元素。
实施:
CPP
// CPP Program to demonstrate the implementation in Map #include <iostream> #include <iterator> #include <map> using namespace std; int main() { // empty map container map< int , int > gquiz1; // insert elements in random order gquiz1.insert(pair< int , int >(1, 40)); gquiz1.insert(pair< int , int >(2, 30)); gquiz1.insert(pair< int , int >(3, 60)); gquiz1.insert(pair< int , int >(4, 20)); gquiz1.insert(pair< int , int >(5, 50)); gquiz1.insert(pair< int , int >(6, 50)); gquiz1.insert(pair< int , int >(7, 10)); // printing map gquiz1 map< int , int >::iterator itr; cout << "The map gquiz1 is : " ; cout << " KEY ELEMENT" ; for (itr = gquiz1.begin(); itr != gquiz1.end(); ++itr) { cout << ' ' << itr->first << ' ' << itr->second << '' ; } cout << endl; // assigning the elements from gquiz1 to gquiz2 map< int , int > gquiz2(gquiz1.begin(), gquiz1.end()); // print all elements of the map gquiz2 cout << "The map gquiz2 after" << " assign from gquiz1 is : " ; cout << " KEY ELEMENT" ; for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr) { cout << ' ' << itr->first << ' ' << itr->second << '' ; } cout << endl; // remove all elements up to // element with key=3 in gquiz2 cout << "gquiz2 after removal of" " elements less than key=3 : " ; cout << " KEY ELEMENT" ; gquiz2.erase(gquiz2.begin(), gquiz2.find(3)); for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr) { cout << ' ' << itr->first << ' ' << itr->second << '' ; } // remove all elements with key = 4 int num; num = gquiz2.erase(4); cout << "gquiz2.erase(4) : " ; cout << num << " removed " ; cout << " KEY ELEMENT" ; for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr) { cout << ' ' << itr->first << ' ' << itr->second << '' ; } cout << endl; // lower bound and upper bound for map gquiz1 key = 5 cout << "gquiz1.lower_bound(5) : " << " KEY = " ; cout << gquiz1.lower_bound(5)->first << ' ' ; cout << " ELEMENT = " << gquiz1.lower_bound(5)->second << endl; cout << "gquiz1.upper_bound(5) : " << " KEY = " ; cout << gquiz1.upper_bound(5)->first << ' ' ; cout << " ELEMENT = " << gquiz1.upper_bound(5)->second << endl; return 0; } |
输出
The map gquiz1 is : KEY ELEMENT 1 40 2 30 3 60 4 20 5 50 6 50 7 10The map gquiz2 after assign from gquiz1 is : KEY ELEMENT 1 40 2 30 3 60 4 20 5 50 6 50 7 10gquiz2 after removal of elements less than key=3 : KEY ELEMENT 3 60 4 20 5 50 6 50 7 10gquiz2.erase(4) : 1 removed KEY ELEMENT 3 60 5 50 6 50 7 10gquiz1.lower_bound(5) : KEY = 5 ELEMENT = 50gquiz1.upper_bound(5) : KEY = 6 ELEMENT = 50
地图的所有功能列表
作用 | 释义 |
---|---|
地图::插入() | 在映射容器中插入具有特定键的元素。 |
map::count() | 返回映射中键值为“g”的元素的匹配数。 |
映射相等_范围() | 返回成对的迭代器。该对指的是一个范围的边界,该范围包括容器中的所有元素,这些元素的密钥等价于k。 |
映射擦除() | 用于从容器中删除元素。 |
地图格式() | 返回一个反向迭代器,该迭代器指向映射中第一个键值对(被视为其反向端)正前方的理论元素。 |
映射rbegin() | 返回指向映射的最后一个元素的反向迭代器。 |
地图查找() | 如果在映射中找到键值为“g”的元素,则返回迭代器,否则返回迭代器结束。 |
映射crbegin()和crend() | crbegin()返回一个常量反向迭代器,该迭代器引用映射容器中的最后一个元素。crend()返回一个常量反向迭代器,该迭代器指向映射中第一个元素之前的理论元素。 |
映射cbegin()和cend() | cbegin()返回一个常量迭代器,该迭代器引用映射容器中的第一个元素。cend()返回一个常量迭代器,该迭代器指向多重映射中最后一个元素后面的理论元素。 |
地图安放() | 在映射容器中插入键及其元素。 |
地图最大尺寸() | 返回贴图容器可以容纳的最大元素数。 |
映射上界() | 向第一个元素返回迭代器,该元素相当于键值为“g”的映射值,或者肯定会在映射中紧跟键值为“g”的元素 |
地图操作员= | 将容器的内容指定给其他容器,替换其当前内容。 |
映射下界() | 将迭代器返回到第一个元素,该元素相当于键值为“g”的映射值,或者肯定不会在映射中键值为“g”的元素之前。 |
地图放置提示() | 在映射容器中插入键及其元素,并给出提示。 |
映射值_comp() | 返回确定映射中元素排序方式的对象(默认情况下为“ |
地图键_comp() | 返回确定映射中元素排序方式的对象(默认情况下为“ |
地图::大小() | 返回映射中的元素数。 |
map::empty() | 返回映射是否为空 |
映射::begin()和end() | begin()返回映射中第一个元素的迭代器。end()将迭代器返回到映射中最后一个元素后面的理论元素 |
map::operator[] | 该操作符用于引用操作符内部给定位置处的元素。 |
map::clear() | 从地图中删除所有元素。 |
映射::at()和映射::swap() | at()函数用于返回对与键k关联的元素的引用。swap()函数用于交换两个映射的内容,但映射必须是相同的类型,尽管大小可能不同。 |
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END