8、数据结构之集合与列表全解析

数据结构之集合与列表全解析

1. 集合迭代相关知识

在软件开发中,集合的迭代是一个常见且重要的操作。首先,我们来探讨一下迭代控制的不同方式。迭代控制主要有两种选择:内部迭代和外部迭代。内部迭代是由集合自身来控制迭代过程,而外部迭代则是由客户端来控制。

迭代机制可以存在于三个不同的地方:
- 语言层面:以控制结构的形式存在。
- 集合内部:作为一组操作。
- 单独的迭代器对象:具有特定的操作。

将控制方式和迭代机制的存在位置进行组合,就产生了六种设计集合迭代功能的选择:
| 控制方式 | 存在位置 | 具体情况 |
| ---- | ---- | ---- |
| 内部控制 | 语言 | 内部控制存在于语言中 |
| 外部控制 | 语言 | 外部控制存在于语言中 |
| 内部控制 | 集合 | 内部控制存在于集合中 |
| 外部控制 | 集合 | 外部控制存在于集合中 |
| 内部控制 | 迭代器对象 | 内部控制存在于迭代器对象中 |
| 外部控制 | 迭代器对象 | 外部控制存在于迭代器对象中 |

一个迭代器必须具备四个基本功能:
- 初始化迭代器对象,为遍历关联的集合做准备。
- 获取集合的当前元素。
- 移动到集合的下一个元素。
- 指示所有元素都已被访问。

在Ruby语言中,它不支持存在于集合中的外部迭代。不过,Ruby的Enumerable模块可以将内部迭代操作混入到其他类中,用于为集合和枚举器(迭代器对象)添加内部迭代功能。如果一个集合为空,那么无论传入什么参数,其

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值