为什么队列不应该反向遍历?

u014541584 2014-04-10 07:56:52
书上说用链表实现队列,只要单链表就足够了,原因是“队列绝不反向遍历”,这原因我就看不懂了,为啥?
...全文
89 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞天御剑流 2014-04-10
  • 打赏
  • 举报
回复
书上这种说法漏了一个条件,用单链表易于实现单端队列,不便于实现双端队列。所谓“队列绝不反向遍历”,是由于单端队列只会从一端插入元素,另一端取出,这种情形用单链表是很容易实现的。
内容概要:本文档详细介绍了Python3中的多种数据结构及其使用方法,包括列表、栈、队列、列表推导式、元组、集合和字典。列表是可变的数据结构,支持多种操作如添加、删除、查找等。文档展示了如何使用列表实现栈(后进先出)和队列(先进先出),并指出使用`collections.deque`实现队列更高效。列表推导式提供了一种简洁的方式来创建列表。元组是不可变的序列,适用于存储固定数量的元素。集合是无序且不重复的元素集合,支持集合运算。字典则是键值对的集合,允许通过键快速访问值。此外,文档还介绍了遍历技巧,如使用`items()`遍历字典、`enumerate()`获取索引和值、`zip()`同时遍历多个序列,以及`reversed()`和`sorted()`进行反向和排序遍历。 适合人群:具备一定编程基础,尤其是对Python语言有一定了解的开发者或学生。 使用场景及目标:①掌握Python中常用数据结构的基本概念和操作方法;②学会使用列表、元组、集合和字典解决实际编程问题;③理解栈和队列的实现方式及其应用场景;④熟练运用列表推导式简化代码;⑤掌握遍历技巧提高代码效率。 阅读建议:本文档内容丰富,建议读者结合具体实例逐步理解和实践,尤其要注意不同数据结构的特点和适用场景,通过动手编写代码来加深理解。

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧