关于reverse_iterator

来源:互联网 发布:vba数组可否使用clear 编辑:程序博客网 时间:2024/06/05 15:25

这个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

0 0
原创粉丝点击