我是靠谱客的博主 舒心棒棒糖,这篇文章主要介绍数据结构之python实现队列的顺序存储,现在分享给大家,希望可以做个参考。

定义:

队列是一种特殊的线性表,遵循“ 先进先出”的原则,操作在两端进行,插入元素的一端被称为队尾(real),删除元素的一端称为队头(front)。队头指针实际指向队头元素所在位置的前一个位置,队尾指针指向实际队尾元素所在位置。顺序队列中的元素恒为rear-front,其中队空的条件为front = rear;队满的条件为rear+1=MaxQueueSize。

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
59
60
class SequenceQueue: def __init__(self): self.MaxQueueSize = 10 self.s = [None for x in range(0,self.MaxQueueSize)] self.front = 0 self.rear = 0 '''当前队列是否为空''' def IsEmptyQueue(self): if self.front == self.rear: iQueue = True else: iQueue = False return iQueue '''元素进队''' def EnQueue(self,x): if self.rear < self.MaxQueueSize-1: self.rear = self.rear+1 self.s[self.rear] = x print("当前进队元素为:",x) else: print("队列已满,无法入队") return '''元素出队''' def DeQueue(self): if self.IsEmptyQueue(): print("队列为空") return else: self.front = self.front+1 return self.s[self.front] '''获取队头元素''' def GetHead(self): if self.IsEmptyQueue(): print("队列为空") return else: return self.s[self.front+1] '''获取队列长度''' def GetQueueLength(self): return self.rear - self.front '''创建队列''' def CreateQueueByInput(self): data = input("请输入入队元素(回车确定,#结束):") while data != "#": self.EnQueue(data) data = input("请输入入队元素(回车确定,#结束):") '''遍历顺序队列内的所有元素''' def QueueTraverse(self): if self.IsEmptyQueue(): print("队列为空") return else: i= self.front+1 while i < self.rear+1: print(self.s[i],end = ' ') i = i+1 sq = SequenceQueue() sq.CreateQueueByInput() print("顺序队列的元素为:") sq. QueueTraverse()

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

最后

以上就是舒心棒棒糖最近收集整理的关于数据结构之python实现队列的顺序存储的全部内容,更多相关数据结构之python实现队列内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部