STL——容器(Set & multiset)的迭代器

Posted coocochoco

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL——容器(Set & multiset)的迭代器相关的知识,希望对你有一定的参考价值。

1.set.insert(elem);     //在容器中插入元素。

2.set.begin();         //返回容器中第一个数据的迭代器。

3.set.end();          //返回容器中最后一个数据之后的迭代器。

4.set.rbegin();        //返回容器中倒数第一个元素的迭代器。

5.set.rend();         //返回容器中倒数最后一个元素的后面的迭代器。

 

使用方法如下:

 1 #include <iostream>
 2 #include <set>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     set<int> setInt;
 9 
10     //在容器中插入元素
11     setInt.insert(1);
12     setInt.insert(2);
13     setInt.insert(3);
14     setInt.insert(4);
15     setInt.insert(5);
16     
17     //返回容器中第一个数据的迭代器赋值给 it,如果不等于最后一个数据的迭代器便 it++
18     for (set<int>::iterator it = setInt.begin(); it != setInt.end(); it++)
19     {
20         cout << *it << endl;
21     }
22 
23     cout << endl;
24 
25     //返回容器中倒数第一个元素的迭代器赋值给 it,如果不等于倒数最后一个数据的迭代器便 it++
26     //这里需要注意一点,rbegin 的返回类型应该为 reverse_iterator ,并且 reverse_iterator 的++操作将会是往前移动的操作
27     for (set<int>::reverse_iterator it = setInt.rbegin(); it != setInt.rend(); it++)
28     {
29         cout << *it << endl;
30     }
31     
32     return 0;
33 }

 

打印结果:

技术图片

这里需要注意 rbegin 的返回值类型为 reverse_iterator

1     _NODISCARD reverse_iterator rbegin() noexcept 
2     {
3         return reverse_iterator(end());
4     }

 

 

 

 

 

 

========================================================================================================================================

以上是关于STL——容器(Set & multiset)的迭代器的主要内容,如果未能解决你的问题,请参考以下文章

C++ STL set和multiset的使用

STL——容器(Set & multiset)的迭代器

STL——容器(Set & multiset)的迭代器

STL map&set用法详解

STL map&set用法详解

STL——容器(Set & multiset)的删除 erase