首页 > 编程知识 正文

java集合迭代器遍历,迭代器遍历自定义链表

时间:2023-05-04 14:53:14 阅读:148809 作者:2332

文章目录0 -简介1 -迭代器定义2 -迭代器分类3 -迭代器使用

0 -简介

参考: http://c.biancheng.net/view/6675.html

1 -迭代器定义了每个容器对应类型的迭代器,即不同容器的迭代器也不同,其功能强弱也不同。 的迭代器功能的强弱决定了容器是否支持STL的算法。

2 -迭代器分类中常用的迭代器,根据功能强弱,由输入迭代器、输出迭代器、前向迭代器双向迭代器、http://www.Sina.com 常用的有后者3种,输入迭代器和输出迭代器是特殊的,不是以数组或容器为操作对象,而是以输入流/输出流为操作对象。

33558 www.Sina.com/(forward iterator ) :

假设p是前向迭代器,则p支持p、p和*p操作,可以复制或赋值,并且可以使用==和=运算符进行比较。 另外,两个前向迭代器可以相互赋值。

33558 www.Sina.com/(bidirectional iterator )。

双向迭代器除了具有转发迭代器的全部功能外,还可以执行----p或p--的操作,即一次向后移动一个(假设p是双向迭代器)。

33558 www.Sina.com/(randomaccessiterator ) )。

随机接入迭代器具有双向迭代器的全部功能。 此外,假设p是随机访问迭代器,I是整数变量或常量,则p还支持以下操作:

使p=i向后移动I个要素。 使p-=i前进I个元素。 pi :返回p后面第I个元素的迭代器。 p-I :返回p前面第I个元素的迭代器。 返回对p[i]后面第I个元素的引用。 也可以利用、=、=运算符比较两个随机接入迭代器p1、p2。 另外,还定义了表达式p2-p1,其返回值表示p2所指示的元素和p1所指示的元素的编号之差(也可以是p2和p1之间的元素的个数减去1 )。

3 -迭代器用于迭代器时,最常见的是随机访问迭代器

在横移过程中,横移条件受不同类型的迭代器的影响,常见的迭代方式主要有:

//v是容器,不指定类型//遍历方式for(I=v.begin ) )的I!=v.end (; I ) cout *i; //遍历方式)双向迭代器不支持在中比较的for(I=v.Begin )的i v.end (; I ) cout *i; //遍历方式)双向迭代器不支持用下标随机访问要素for (inti=0; iv.size (; I ) cout v[i];

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。