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

容数据服务集结号 2020-06-08

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

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

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

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

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

使用方法如下:

#include <iostream>
#include <set>

using namespace std;

int main()
{
    set<int> setInt;

    //在容器中插入元素
    setInt.insert(1);
    setInt.insert(2);
    setInt.insert(3);
    setInt.insert(4);
    setInt.insert(5);
    
    //返回容器中第一个数据的迭代器赋值给 it,如果不等于最后一个数据的迭代器便 it++
    for (set<int>::iterator it = setInt.begin(); it != setInt.end(); it++)
    {
        cout << *it << endl;
    }

    cout << endl;

    //返回容器中倒数第一个元素的迭代器赋值给 it,如果不等于倒数最后一个数据的迭代器便 it++
    //这里需要注意一点,rbegin 的返回类型应该为 reverse_iterator ,并且 reverse_iterator 的++操作将会是往前移动的操作
    for (set<int>::reverse_iterator it = setInt.rbegin(); it != setInt.rend(); it++)
    {
        cout << *it << endl;
    }
    
    return 0;
}

打印结果:

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

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

_NODISCARD reverse_iterator rbegin() noexcept 
    {
        return reverse_iterator(end());
    }

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

相关推荐