Fork me on GitHub

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     }

 

 

 

 

 

 

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

posted @ 2020-06-07 23:04  索智源  阅读(470)  评论(0编辑  收藏  举报