我是靠谱客的博主 可靠乌冬面,这篇文章主要介绍数据结构之python实现队列的链式存储,现在分享给大家,希望可以做个参考。

定义:

链式队列在创建一个队列时,队头指针front和队尾指针rear指向结点的data域和next域均为空。

python实现:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class QueueNode(): def __init__(self): self.data = None self.next = None class LinkQueue(): def __init__(self): tQueueNode = QueueNode() self.front = tQueueNode self.rear = tQueueNode '''判断是否为空''' def IsEmptyQueue(self): if self.front == self.rear: iQueue = True else: iQueue = False return iQueue '''进队列''' def EnQueue(self,da): tQueueNode = QueueNode() tQueueNode.data = da self.rear.next = tQueueNode self.rear = tQueueNode print("当前进队的元素为:",da) '''出队列''' def DeQueue(self): if self.IsEmptyQueue(): print("队列为空") return else: tQueueNode = self.front.next self.front.next = tQueueNode.next if self.rear == tQueueNode: self.rear = self.front return tQueueNode.data def GetHead(self): if self.IsEmptyQueue(): print("队列为空") return else: return self.front.next.data def CreateQueueByInput(self): data = input("请输入元素(回车键确定,#结束)") while data != "#": self.EnQueue(data) data = input("请输入元素(回车键确定,#结束)") '''遍历顺序队列内的所有元素''' def QueueTraverse(self): if self.IsEmptyQueue(): print("队列为空") return else: while self.front != self.rear: result = self.DeQueue() print(result,end = ' ') lq = LinkQueue() lq.CreateQueueByInput() print("队列里元素为:") lq.QueueTraverse()

结果如下:
在这里插入图片描述

最后

以上就是可靠乌冬面最近收集整理的关于数据结构之python实现队列的链式存储的全部内容,更多相关数据结构之python实现队列内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部