首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python栈和队列操作方法

栈和队列都是一种特殊的线性表,你也可以理解为一种存储单元,用于存储逻辑关系为一对一的数据。使用栈结构存储数据,讲究先进后出,意思是如果一组数据一次存入栈中,当取数据的时候,最先进去的最后出来。...使用队列存储数据的时候正好和栈相反——先进先出。使用递归、栈、队列这种数据结构可以纵深遍历目录,或者纵深爬虫开发。 一、栈 栈结构类似于列表中的append()和pop()操作方式。...print(res2) print(list1) res3 = list1.pop() print(res3) print(list1) 返回结果: C ['A', 'B'] B ['A'] A [] 二、队列...队列讲究先进先出。...1.入队 import collections # 创建一个队列 queue = collections.deque() print(queue) # 1.入队 queue.append('A') print

33820
您找到你想要的搜索结果了吗?
是的
没有找到

循环队列出队-队列,顺序队列与循环队列

队列   队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。...队列中的数据元素称为队列元素。队列中没有元素时,称为空队列队列只允许在一端插入,另一端删除,所以队列是一种先进先出的线性表。   1. 顺序队列   顺序队列存储模式:一维数组。   ...具体如下图:   由上图可知,随着插入和删除操作,队列元素个数不断变化,队列所占存储空间也在为顺序队列结构多分配的连续空间中移动。当front=rear时,队列中没有任何元素,称为空队列。...规定循环队列中至多能有-1个队列元素(为了区分满队列和空队列),即当循环队列中只剩下一个空存储单元时,队列满。即循环队列为满条件:(rear+1)%=front。   ...循环队列中空队列条件:front=rear。   循环队列就是收尾相接的圆环的抽象。可以简单防止“假上溢”现象循环队列出队,充分利用向量空间,但队列大小是固定的。

69640

队列的基本操作(顺序队列、循环队列、链式队列

队列的基本操作包括: 初始化队列:InitQueue(Q) 操作前提:Q为未初始化的队列。 操作结果:将Q初始化为一个空队列。...采用顺序队列存储的队列称为顺序队列,采用链式存储的队列称为链式队列。顺序队列采用数组存储队列中的元素,使用两个指针尾指针(rear)和头指针(front)分别指向队列的队头和队尾。...使用顺序队列由于在操作时会出现“假溢出现象”,所以可以使用顺序循环队列合理的使用队列空间。...链式队列使用链表来实现,链表中的数据域用来存放队列中的元素,指针域用来存放队列中下一个元素的地址,同时使用队头指针指向队列的第一个元素和最后一个元素。...所以相对于顺序队列和循环队列,链式队列没有判断队列是否为满操作。但在清空队列时需要将队列所有结点的空间动态释放,从而防止内存泄露。测试清空函数可以通过编译器调试来观察。

2.7K50
领券