数据结构之队列

mac2022-06-30  30

队列

队列也是线性的结构,是一个简单的等待序列。尾部加入元素时队列加长,在前面删除数据时队列变短。与栈不同之处在于,队列两端都会用到,但是两端的功能不同,一端用来添加数据另一端用来删除元素。像排队一样,来的人只能排在队伍的最后面,只有前面的人都走了,才轮到这个人。因此,队列是先进先出的结构。

队列的操作与栈相似,队列包含以下操作:

Clear()——清空队列IsEmpty()——判断队列是否为空Enqueue()——往队列中添加元素Dequeue()——取出一个队列的元素Getdata()——返回队列首元素的数据

队列的python实现

class node: """ 节点类 包含data储存数据,next指向下一节点 """ def __init__(self, data): self.data = data self.next = None class Queue: """ 队列 包含 入队、出队、查询是否为空 等操作 """ def __init__(self): self.head = None self.Num = 0 def Clear(self): self.head = None self.Num = 0 def IsEmpty(self): return self.Num == 0 def Enqueue(self, data): if self.head == None: self.head = node(data) else: p = self.head while p.next: p = p.next p.next = node(data) self.Num += 1 return True def Dequeue(self): p = self.head data = p.data self.head = p.next return data def Getdata(self): p = self.head data = p.data return data

欢迎关注公众号 : 数学算法实验室 专注于 算法、数学、机器学习

最新回复(0)