python3 数据结构 队列

队列

1.定义:队列是限制在两端进行插入操作和删除操作的线性表,允许进行存入操作的一端称为“队尾”,允许进行删除操作的一端称为“队头”。

2.特点:

  • 队列只能在队头和队尾进行数据操作
  • 栈模型具有先进先出或者叫做后进后出的规律

3.队列的代码实现

队列的操作有入队,出队,判断队列的空满等操作。

#顺序存储
class QueueError(self):
	"""docstring for QueueError"""
	pass
class SQueue:
	def __init__(self):
		self.__elems = []
	def is_emety(self):
		return self.__elems ==[]
	def enqueue(self,elem):
		self.__elems.append(elem)
	def dequeue(self):
		if not self.__elems:
			raise QueueError("Query is empty")
		return self.__elems.pop(0)

#链式存储
class Node:
	def __init__(self,data,next = None):
		self.data = data
		self.next = next

class LQueue:
	def __init__(self):
		self.front = self.rear = Node(None)

	def is_empty(self):
		return self.front == self.rear

	def enqueue(self,data):
		self.rear.next = Node(data)
	
	def dequeue(self):
		if self.front == self.rear:
			raise QueueError("Queue is empty")
		self.front = self.front.next
		return self.front.data

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值