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)的迭代器的更多相关文章

  1. STL容器特征总结与迭代器失效

    Vector 内部数据结构:连续存储,例如数组. 随机访问每个元素,所需要的时间为常量. 在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化. 可动态增 ...

  2. STL容器迭代器失效分析

    连续内存序列容器(vector, string, deque) 对于连续内存序列STL容器,例如vector,string,deque,删除当前iterator会使得后面所有的iterator都失效, ...

  3. STL Set和multiset 容器

    STL Set和multiset 容器 set/multiset的简介 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列. 元素插入过程是按排序规则插入,所以不能指定插入位 ...

  4. STL容器迭代器失效问题讨论

    STL源码剖析---迭代器失效小结 vector迭代器的几种失效的情况: .当插入(push_back)一个元素后,end操作返回的迭代器肯定失效. .当插入(push_back)一个元素后,capa ...

  5. C++进阶 STL(1) 第一天 [容器,算法,迭代器] string容器 vector容器 deque容器

    课程大纲 02实现基本原理 容器,算法,迭代器 教室:容器 人:元素 教室对于楼:容器 序列式容器: 容器元素在容器中的位置是由进入容器的时间和地点来决定 序列式容器 关联式容器: 教室中 按年龄排座 ...

  6. STL——容器(Set & multiset)的默认构造 & 带参构造 & 对象的拷贝构造与赋值

    1. 默认构造 set<int> setInt;              //一个存放int的set容器. set<float> setFloat;          //一 ...

  7. c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例

    c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1 ...

  8. STL容器的适用情况

     转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/ ly; mso-default-props:yes; m ...

  9. STL容器的本质

    http://blog.sina.com.cn/s/blog_4d3a41f40100eof0.html 最近在学习unordered_map里面的散列函数和相等函数怎么写.学习过程中看到了一个好帖子 ...

  10. STL容器总结

    一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.sl ...

随机推荐

  1. bootstrap-datetimepicker 编辑回显

    官网上居然没给出解决方案....汗 stackoverflow给出了灵感: $("#dateOfManufacture").find("input").val( ...

  2. JPA、Hibernate、Spring-Data-Jpa的本质区别

    什么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支持 ...

  3. 解析MindMapper选项中的鱼骨选项

    MindMapper思维导图可以画鱼骨图,而且完成的相当漂亮,我们可以在选项设置中定义鱼骨图图的默认样式.下面本文就分析了MindMapper选项中可以更改哪些鱼骨图设置. 我们首先打开MindMap ...

  4. OCR之前这些因素必须考虑到!

    用久了ABBYY FineReader 14OCR文字识别软件,相信大家都知道图像质量对OCR质量有很大的影响,本文将给大家讲解下在识别图像之前,有哪些因素需要考虑到! 1.OCR语言 ABBYY F ...

  5. python+selenium通过加载用户配置实现免登陆

    1查看profile路径 在Chrome地址栏访问chrome://version,可以查看个人资料存储位置: 2 python代码如下: from selenium import webdriver ...

  6. python3基础2

    # 列表(list.数组).元组.字典 list_ = ["a", "c", 1, 2] print(list_) # list_.append("c ...

  7. H5 ,Css实现了你的logo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. FL Studio——电音编曲人的奠基石

    随着近年来摇滚.电音的发展,越来越多的人开始对电子音乐编曲感兴趣,而电音编曲的首要条件,就是需要一个好的DAW(数字音频工作站),常用的DAW有很多,例如Cubase.Nuendo.Pro Tools ...

  9. 跨域共享CORS详解及Gin配置跨域

    跨域简介 当两个域具有相同的协议(如http), 相同的端口(如80),相同的host,那么我们就可以认为它们是相同的域(协议,域名,端口都必须相同). 跨域就指着协议,域名,端口不一致,出于安全考虑 ...

  10. Linux学习进度记录(一)

      一.按系列罗列Linux的发行版,并描述不同版本之间的联系和区别 1. RHEL (RedHat Enterprise Linux):红帽企业版Linux,红帽公司是全球最大的开源技术厂商,RHE ...