This commit is contained in:
krahets
2023-11-09 05:13:48 +08:00
parent 9701430089
commit 0105644232
83 changed files with 516 additions and 509 deletions

View File

@ -8,7 +8,7 @@ comments: true
如图 5-4 所示,我们将队列的头部称为“队首”,尾部称为“队尾”,将把元素加入队尾的操作称为“入队”,删除队首元素的操作称为“出队”。
![队列的先入先出规则](queue.assets/queue_operations.png)
![队列的先入先出规则](queue.assets/queue_operations.png){ class="animation-figure" }
<p align="center"> 图 5-4 &nbsp; 队列的先入先出规则 </p>
@ -325,13 +325,13 @@ comments: true
如图 5-5 所示,我们可以将链表的“头节点”和“尾节点”分别视为“队首”和“队尾”,规定队尾仅可添加节点,队首仅可删除节点。
=== "LinkedListQueue"
![基于链表实现队列的入队出队操作](queue.assets/linkedlist_queue.png)
![基于链表实现队列的入队出队操作](queue.assets/linkedlist_queue.png){ class="animation-figure" }
=== "push()"
![linkedlist_queue_push](queue.assets/linkedlist_queue_push.png)
![linkedlist_queue_push](queue.assets/linkedlist_queue_push.png){ class="animation-figure" }
=== "pop()"
![linkedlist_queue_pop](queue.assets/linkedlist_queue_pop.png)
![linkedlist_queue_pop](queue.assets/linkedlist_queue_pop.png){ class="animation-figure" }
<p align="center"> 图 5-5 &nbsp; 基于链表实现队列的入队出队操作 </p>
@ -1216,13 +1216,13 @@ comments: true
可以看到,入队和出队操作都只需进行一次操作,时间复杂度均为 $O(1)$ 。
=== "ArrayQueue"
![基于数组实现队列的入队出队操作](queue.assets/array_queue.png)
![基于数组实现队列的入队出队操作](queue.assets/array_queue.png){ class="animation-figure" }
=== "push()"
![array_queue_push](queue.assets/array_queue_push.png)
![array_queue_push](queue.assets/array_queue_push.png){ class="animation-figure" }
=== "pop()"
![array_queue_pop](queue.assets/array_queue_pop.png)
![array_queue_pop](queue.assets/array_queue_pop.png){ class="animation-figure" }
<p align="center"> 图 5-6 &nbsp; 基于数组实现队列的入队出队操作 </p>