C++ STL 中的 map::begin() 和 end()


在本文中,我们将讨论 C++ STL 中 map::begin() 和 map::end() 函数的工作原理、语法和示例。

什么是 C++ STL 中的 Map?

Map 是关联容器,它可以方便地存储由键值和映射值组合而成的元素,并以特定的顺序进行存储。在 map 容器中,数据在内部始终通过其关联的键进行排序。map 容器中的值可以通过其唯一的键进行访问。

什么是 map::begin()?

map::begin() 函数是 C++ STL 中的内置函数,它在 header file. begin() is used to access the element which is at the very beginning of the associated map container.

此函数返回一个迭代器,该迭代器指向容器的第一个元素。当容器中没有值时,无法取消引用迭代器。

语法

map_name.begin();

参数

该函数不接受任何参数。

返回值

此函数返回一个迭代器,该迭代器指向 map 容器的第一个值。

示例

输入

std::map<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.begin();

输出

a:10

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_1;
   TP_1[1] = 10;
   TP_1[2] = 20;
   TP_1[3] = 30;
   TP_1[4] = 40;
   cout<<"Elements of TP_1 after swap:\n"<< "\tKEY\tELEMENT\n";
   for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {
      cout << "\t" << i->first << "\t" << i->second << '\n';
   }
   return 0;
}

输出

Elements of TP_1 after swap:
KEY    ELEMENT
1       10
2       20
3       30
4       40

什么是 map::end()?

map::end() 函数是 C++ STL 中的内置函数,它在 <map> 头文件中定义。end() 用于访问容器中最后一个元素之后的元素,或者最后一个元素之后的元素。

此函数返回一个迭代器,该迭代器指向容器中最后一个元素之后的元素。当容器中没有值时,无法取消引用迭代器。

通常,begin() 和 end() 用于通过提供范围来迭代 map 容器。

语法

map_name.end();

参数

该函数不接受任何参数。

返回值

此函数返回一个迭代器,该迭代器指向 map 容器最后一个值之后的元素。

示例

输入

std::map<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b’, 20});
mymap.insert({‘c’, 30});
mymap.end();

输出

error

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_1;
   TP_1[1] = 10;
   TP_1[2] = 20;
   TP_1[3] = 30;
   TP_1[4] = 40;
   cout<<"Elements of TP_1 after swap:\n"<< "\tKEY\tELEMENT\n";
   for (auto i = TP_1.begin(); i!= TP_1.end(); i++) {
      cout << "\t" << i->first << "\t" << i->second << '\n';
   }
   return 0;
}

输出

Elements of TP_1 after swap:
KEY    ELEMENT
1       10
2       20
3       30
4       40

更新于: 2020年4月15日

671 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告