一、相比单向链表,双向链表的优势
双向链表的每个节点保存了前一个节点和后一个节点的引用(指针),到达某个节点时,可以向前或者向后遍历,提高了操作的效率。比如,insertBefore(nodeA, value) 操作,可以一步完成,而不需要先查找 nodeA 的前序节点。
二、关于List 的遍历访问,使用迭代器。
可以把迭代器理解为指向 List 的一个游标,这个游标可以向前或者向后(一般是从前向后遍历)遍历整个 List。
如果我们的 List 想要支持迭代访问,比如 for val in listA: xxx, 就必须实现迭代器,必须要实现自己的迭代器类和迭代方法。
三、语言描述总数太抽象,直接看代码吧。
如果发现问题或者有疑问,欢迎与我讨论。看完代码,相信你对 python 的迭代器以及可迭代对象有了新的认识。
欢迎加入我们免费的 python 学习交流社群,请先扫描群主二维码,加群主为好友,然后申请入群。群内技术大牛每日交流,即时答疑。也欢迎关注我们的技术公众号,会定期推送学习材料
领取专属 10元无门槛券
私享最新 技术干货