数据结构之队列
来源:互联网 发布:eastpak知乎 编辑:程序博客网 时间:2024/06/04 00:53
今天我们要聊的是 队列(Queue)
队列(Queue):
(01) 队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的。
(02) 队列只允许在"队首"进行删除操作,而在"队尾"进行插入操作
队列也是一种线性表,很形象的比喻就是像排队一样,刚来的人入队(push)要排在队尾(rear),每次出队(pop)的都是队首(front)的人。
如下图所示:(图片来源于网络)
主要的函数有:
Queue 定义一个空队列
enqueue(item) 在队列尾部添加一个数据项,参数是数据项,无返回值
dequeue(item) 删除队列头部的数据项,无参数,返回值是被删除的数据
isEmpty(item) 检测队列是否为空
size() 返回队列数据项的数量
python 实现
class Queue: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def enqueue(self, item): self.items.insert(0,item) def dequeue(self): return self.items.pop() def size(self): return len(self.items)q=Queue()q.enqueue(4)q.enqueue('dog')q.enqueue(True)print(q.size())
注意这里 “队首” 跟 “队尾” 是相反的。
测试代码:>>> q.size()3>>> q.isEmpty()False>>> q.enqueue(8.4)>>> q.dequeue()4>>> q.dequeue()'dog'>>> q.size()2
参考链接:
(1)http://interactivepython.org/runestone/static/pythonds/BasicDS/ImplementingaQueueinPython.html
阅读全文
0 0
- 数据结构之队列(链式队列)
- 数据结构之队列(数组队列)
- 数据结构之队列-顺序队列
- 数据结构之循环队列
- 数据结构之顺序队列
- 数据结构之链队列
- java数据结构之队列
- 数据结构之队列
- 数据结构复习之【队列】
- 内核数据结构之队列
- 数据结构之队列实例
- 数据结构学习之队列
- 复习数据结构之队列
- C 队列之数据结构
- 基础数据结构之队列
- 数据结构之队列
- 大话数据结构之队列
- 数据结构之循环队列
- 封装okHttp 上下刷新
- java插入排序代码实现
- 全选/反选;删除
- C/C++:交换两个变量的值可能存在的问题
- 【1701H1】【穆晨】【171113】连续第三十四天总结
- 数据结构之队列
- java运算符
- 拷贝文件代码
- 慕课网——PHP进阶篇(正则表达式5—8)
- eclipse新建android工程提示android.support.v7错误的解决办法
- 大小写字母的转化及其ASCII码值
- 阿里OSS上传总结
- 树莓派3B+ 人脸检测(OpenCV)
- 循环队列 C语言数据结构