我是靠谱客的博主 动人小海豚,这篇文章主要介绍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
#!/usr/bin/python3.5 #_*_coding:utf-8_*_ class Node: def __init__(self,value): self.data = value self.next = None class Queue: def __init__(self): self.front = Node(None) self.rear = self.front def enQueue(self,element): n = Node(element) self.rear.next = n self.rear = n def deQueue(self): if self.empty(): print('队空') return temp = self.front.next self.front.next = self.front.next.next if self.rear == temp: self.rear = self.front del temp def getHead(self): if self.empty(): print('队空') return return self.front.next.data def empty(self): return self.rear == self.front def printQueue(self): cur = self.front.next while cur != None: print(cur.data) cur = cur.next def clear(self): while self.front.next != None: temp = self.front.next self.front.next = temp.next self.rear = self.front def length(self): cur = self.front.next count = 0 while cur != None: count += 1 cur = cur.next return count if __name__ == '__main__': queue = Queue()

 

复制代码
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication4 { class Node { public int data; public Node next; } class Queue { private Node front; private Node rear; private int len; public Queue() { // 头结点、尾指针 this.front = new Node(); this.front.next = null; this.rear = this.front; this.len = 0; } public void enQueue(int data) { Node n = new Node(); n.data = data; n.next = null; this.rear.next = n; this.rear = n; this.len++; Console.WriteLine("入队:" + data); } public void deQueue() { if (empty()) { Console.WriteLine("队列为空"); return; } Node temp = this.front.next; this.front.next = this.front.next.next; if (this.rear == temp) { this.rear = this.front; } Console.WriteLine("出队:" + temp.data); temp = null; this.len--; } public void printQueue() { if (len == 0) { Console.WriteLine("队列为空"); return; } Node cur = this.front.next; Console.Write("打印队列:"); while (cur != null) { Console.Write(cur.data + " "); cur = cur.next; } Console.WriteLine(); } public void getLength() { Console.WriteLine("队列长度:" + this.len); } public bool empty() { return this.len == 0; } } class Program { static void Main(string[] args) { Queue queue = new Queue(); queue.enQueue(1); queue.enQueue(2); queue.enQueue(3); queue.enQueue(4); queue.enQueue(5); queue.printQueue(); queue.getLength(); Console.WriteLine(); queue.deQueue(); queue.deQueue(); queue.printQueue(); queue.deQueue(); queue.deQueue(); queue.deQueue(); queue.deQueue(); } } }

 

最后

以上就是动人小海豚最近收集整理的关于Python写数据结构:队列(链式存储结构)的全部内容,更多相关Python写数据结构内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部