python队列数组_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程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值