关于reverse_iterator
这个reverse_iterator曾经搞得我头大,其对应的函数也是那么的可不理解...现在一切都好了.
对于left_null>1->2->3->4->right_null,这样一个有4个元素(1,2,3,4)的链表.
1->2->3->4->尾
list<int>iteraotr c1=intList.begin() // *c1=1;
list<int>iteraotr c2=intList.end() // *c2=right_null;
尾<-1<-2<-3<-4
iterator++,则对于上边正向链表从左向右遍历
EG1:*(--c2)=4;
EG2:
for(c1=.begin(),c1!=.end();c1++)
cout<<...1,2,3,4
list<int>reverse_iteraotr c1=intList.rbegin() // *c1=4; rbegin:相当于reverse_begin即反着看的头
list<int>reverse_iteraotr c1=intList.rend() // *c1=left_null; rend相当于reverse_end即反着看的尾
reverse_iterator++,则对于上边正向链表从右向左遍历.
EG1:*(--c2)=1;
EG2:
for(c2=.rbegin();r2!=.rend();c2++)
相当于:4 3 2 1
for(c2=rend(),c2!=.rbegin().......)-->没有这种用法,因为不存在rend()指向的元素!!!
转自:http://blog.csdn.net/zdl1016/article/details/1517955
关于reverse_iterator的更多相关文章
- 如何在遍历中使用 iterator/reverse_iterator 删除元素
如何在遍历中使用 iterator/reverse_iterator 删除元素 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公 ...
- std::reverse_iterator::base
google chromium base MRU_Cache 支持反向erase iterator Erase(iterator pos) { deletor_(pos->second); ...
- std的find和reverse_iterator联合使用
上代码: // test2013.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdlib.h> #in ...
- 浅谈reverse_iterator的base()函数
非原创,原文链接:http://blog.csdn.net/shuchao/article/details/3705252 调用reverse_iterator的base成员函数可以产生"对 ...
- 在遍历中使用 iterator/reverse_iterator 进行 Erase 的使用方法
在遍历中使用 iterator/reverse_iterator 进行 Erase 的使用方法 罗朝辉 (http://blog.csdn.net/kesalin/) 本文遵循"署名-非商业 ...
- [转]了解如何通过reverse_iterator的base得到iterator
转自:http://blog.csdn.net/shuchao/article/details/3705252 调用reverse_iterator的base成员函数可以产生“对应的”iterator ...
- reverse_iterator和ostream_iterator
每个容器都有反向迭代器(无需关联容器除外),reverse_iterator要和std::rbegin()以及std::end()配套使用,否则用了方向迭代器而不用rbegin()和rend()编译器 ...
- Effective STL 学习笔记 Item 26: Prefer Iterator to reverse_iterator and const_rever_itertor
Effective STL 学习笔记 Item 26: Prefer Iterator to reverse_iterator and const_rever_itertor */--> div ...
- c++ list reverse_iterator
#pragma warning(disable:4786) #include <set> #include <iostream> using namespace std ; t ...
随机推荐
- ABP文档笔记 - 配置、设置、版本、功能、权限
配置 全局仅一个单例,保存一组配置信息,一般直接在模块的预启动事件中赋值or修改.没有Scope划分,无论租户还是房东亦或者用户读取的值都不会有差异.每个模块都可以扩展这个配置. 设置 它没有层级关系 ...
- MAC下用homebrew安装及配置apache、php和mysql
我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方 ...
- Go 语言 goto 语句
Go 语言的 goto 语句可以无条件地转移到过程中指定的行. goto语句通常与条件语句配合使用.可用来实现条件转移, 构成循环,跳出循环体等功能. 但是,在结构化程序设计中一般不主张使用goto语 ...
- Go 语言函数闭包
Go 语言支持匿名函数,可作为闭包.匿名函数是一个"内联"语句或表达式.匿名函数的优越性在于可以直接使用函数内的变量,不必申明. 以下实例中,我们创建了函数 getSequence ...
- 线程停止与volatile
1.使用标志位停止线程 在Java中希望停止线程,可以使用设置标志位的方法,如下例所示: class SimpleTask implements Runnable{ private boolean s ...
- vue以及js的一些坑或常用技巧
判断空object Object.getOwnPropertyNames(obj).length === 0 模拟range Array.apply(null, Array(5)).map(funct ...
- java http post tomcat解除 长度限制
1. Get方法长度限制 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制.这个限制是特定的浏览器及服务器对它的限制. 如:IE对URL长度的限制是20 ...
- Bootstrap3 栅格系统-实例:响应列重置(Responsive column resets)
四层的网格你肯定会遇到问题,可用在特定的断点,你的列不清楚作为一个比另一个高完全正确.为了解决这个问题,结合使用.clearfix和响应的实用工具类. <div class="row& ...
- 【Unity Shader】新书封面 — Low Polygon风格的渲染
写在前面 最近又开心又担心,因为我的书马上就要上市了,开心当然是因为等了这么久终于可以如愿了,担心是因为不少人对它的期待都很大,我第一次写书,能力也有限,不知道能不能让大家满意,让大家也都喜欢上它.不 ...
- How to code like a hacker
We are coding. Are we engineers? Are we programmers? Are we coder? No, I want to be a hacker! Many g ...