首页 > 编程知识 正文

c++迭代器实现,迭代器iterator三个方法

时间:2023-05-06 06:16:14 阅读:148804 作者:1732

迭代器介绍

背景:指针可用于遍历存储空间连续数据结构,但如果存储成本是连续的,则需要查找行为类似指针的类以遍历非数组数据结构。

定义:迭代器是一种检查容器内元素并遍历元素的数据类型。

迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围

迭代器(迭代器)是指针(指针)的泛化,使程序员能够以相同的方式处理不同的数据结构(容器)。

(1)迭代器提供对对象的间接访问,类似于c语言指针类型

)2)指针是c语言的知识点,迭代器是c的知识点。 指针灵活,迭代器功能丰富。

(3)迭代器提供针对容器对象或字符串对象的访问方法,并定义了容器范围

迭代器和指针之间的差异:

容器和string具有迭代器类型同时具有返回迭代器的成员。 例如,容器具有成员begin和end,begin成员复制并返回指向第一个元素的迭代器,end成员返回容器尾元素的下一个位置的迭代器。 也就是说,end指的是不存在的元素,为所以end返回的是尾后迭代器

使用容器迭代器

每个容器类型都定义了自己的迭代器类型。 定义一个名为如vector:vector int:: iterator iteriter的变量,数据类型为vector int定义的iterator 类型简单地说,容器类定义自己的迭代器类型,并用于访问容器中的元素。每个容器定义了一种名为iterator的类型,这种类型支持迭代器的各种行为

迭代器的类型如下:

如上图所示,迭代器类型主要支持两种类型:随机访问和双向访问。 其中,vector和deque支持随机访问,list、set、map等支持双向访问。

1 )随机访问)提供对数组元素的快速随机访问,以及在数组末尾的快速插入和删除操作。

2 )双向访问:插入和删除所需的时间是固定的,与位置无关。

使用迭代器

1、所有迭代器:

2、双向迭代器:

3、输入迭代器:

4、输出迭代器

5、随机迭代器

引用数据:

3358 blog.csdn.net/QQ _ 23100787/article/details/51388163

特别感谢~

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