Python实现队列的方法示例小结【数组,链表】
本文实例讲述了Python实现队列的方法。分享给大家供大家参考,具体如下:
Python实现队列
队列(FIFO),添加元素在队列尾,删除元素在队列头操作
- 列表实现队列:利用python列表方法
代码如下:
#列表实现队列
classlistQueue(object):
def__init__(self):
self.items=[]
defis_empty(self):
returnself.items==None
defsize(self):
returnlen(self.items)
#入队
defenqueue(self,value):
returnself.items.append(value)
#出队
defdequeue(self):
ifself.is_empty():
raiseException("queueisempty!")
returnself.items.pop(0)
- 链表实现队列:
队列的链表实现中,队列的入队(enqueue)操作类似于链表在表尾添加元素;队列的出队(dequeue)操作类似于在链表头部删除元素
队列初始化中,定义两个特殊节点,队列头(head)和队列尾(tail),方便进行操作
代码如下:
#链表实现队列
classlinkedQueue(object):
classNode(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
defis_empty(self):
returnself.length==0
defsize(self):
returnself.length
defenqueue(self,value):
node=self.Node(value)
ifself.is_empty():
self.head=node
else:
self.tail.next=node
self.tail=node
self.length+=1
defdequeue(self):
ifself.is_empty():
raiseException("queueisempty!")
item=self.head.value
self.head=self.head.next
self.length-=1
print("出队列元素为:",item)
returnitem
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相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。