Python实现队列的方法示例小结【数组,链表】
作者:授我以驴 发布时间:2023-09-27 13:52:11
标签:Python,队列,数组,链表
本文实例讲述了Python实现队列的方法。分享给大家供大家参考,具体如下:
Python实现队列
队列(FIFO),添加元素在队列尾,删除元素在队列头操作
列表实现队列:利用python列表方法
代码如下:
# 列表实现队列
class listQueue(object):
def __init__(self):
self.items = []
def is_empty(self):
return self.items == None
def size(self):
return len(self.items)
# 入队
def enqueue(self, value):
return self.items.append(value)
# 出队
def dequeue(self):
if self.is_empty():
raise Exception("queue is empty !")
return self.items.pop(0)
链表实现队列:
队列的链表实现中,队列的入队(enqueue)操作类似于链表在表尾添加元素;队列的出队(dequeue)操作类似于在链表头部删除元素
队列初始化中,定义两个特殊节点,队列头(head)和队列尾(tail),方便进行操作
代码如下:
# 链表实现队列
class linkedQueue(object):
class Node(object):
def __init__(self, value=None):
self.value = value
self.next = None
def __init__(self):
self.head = None
self.tail = None
#self.head.next = self.tail
self.length = 0
def is_empty(self):
return self.length == 0
def size(self):
return self.length
def enqueue(self, value):
node = self.Node(value)
if self.is_empty():
self.head = node
else:
self.tail.next = node
self.tail = node
self.length += 1
def dequeue(self):
if self.is_empty():
raise Exception("queue is empty !")
item = self.head.value
self.head = self.head.next
self.length -= 1
print("出队列元素为:",item)
return item
link = linkedQueue()
link.enqueue(1)
link.enqueue(2)
link.enqueue(3)
link.enqueue(4)
print("队列长度为:",link.size())
link.dequeue()
link.dequeue()
运行结果:
队列长度为: 4
出队列元素为: 1
出队列元素为: 2
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/one_Salted_FishGG/article/details/99879624


猜你喜欢
- 事件技术一般水平有限,有什么错的地方,望大家指正。事件就是用户和浏览器交互的一种途径。假如一个用户注册的功能,我们在填写完基本信息之后,点击
- 本文实例讲述了python查找指定具有相同内容文件的方法。分享给大家供大家参考。具体如下:python代码用于查找指定具有相同内容的文件,可
- 毫无疑问,这个世界设计无处不在,优美的设计会得到会心的微笑和由衷的赞赏。然而,想从事设计或在设计边缘的人们未必有机会学习专业的设计。实际上,
- 前提环境准备python3+pillow+pyautogui先提前安装好python3以及pillow和pyautogui模块这里介绍一下模
- 新建项目如下图,比如sigma目录是我要上传的项目,在six-sigma目录下新建三个文件,分别是LICENSE也就是开源协议,README
- 装饰器的作用就是用一个新函数封装旧函数(是旧函数代码不变的情况下增加功能)然后会返回一个新函数,新函数就叫做装饰器,一般为了简化装饰器会用语
- matplotlib的依赖包cycler是matplotlib自主开发的属性组合包,功能与内置模块itertools很多函数非常相似,可用于
- Pytorch torch.distributions库包介绍torch.distributions包包含可参数化的概率分布和采样函数。 这
- python2.7在内存管理上相比python3还是有些坑的,其释放后的内存仍然保留在python的内存池中,不被系统所用。python循环
- 关于oracle 优化的内容很多,概念庞杂,不过可以总结出一个大纲性的东西作为需要考虑的方向,然后再逐步细化。oracle优化按重要性需要考
- 本文实例为大家分享了python实现通讯录管理系统的具体代码,供大家参考,具体内容如下题目期末项目 一. 项目要求利用函数实现通讯
- Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。random.randomrandom.ra
- 插入代码块使用sum函数:numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]print(sum(number
- 在《python深度学习》这本书中。一、21页mnist十分类导入数据集from keras.datasets import mnist(t
- 本文为大家分享了js实现简单选项卡功能的具体代码,供大家参考,具体内容如下首先我们来写HTML代码,构建出整体结构代码如下:<!--导
- 如下所示:<!DOCTYPE html><html lang="en"><head>
- 先举个例子,分别以不指定编码、指定编码为 utf-8、指定编码为 utf-8-sig 三种方式来做比较,再将写入 csv 文件和 txt 文
- 第一步,去百度地图开发者申请密钥。1.申请密钥(百度地图开放平台-->开发文档-->web开发-->JavaScript&
- Translate From:stevesouders原文:高性能网站设计:不要使用@import在高性能网站设计的第五章,我简要的提到@i
- 本文实例讲述了Python实现读取TXT文件数据并存进内置数据库SQLite3的方法。分享给大家供大家参考,具体如下:当TXT文件太大,计算