This commit is contained in:
krahets
2024-02-10 03:56:57 +08:00
parent d2fecf1103
commit 7bbed7f9b8
5 changed files with 35 additions and 35 deletions

View File

@ -330,13 +330,13 @@ comments: true
如图 5-2 所示,对于入栈操作,我们只需将元素插入链表头部,这种节点插入方法被称为“头插法”。而对于出栈操作,只需将头节点从链表中删除即可。
=== "LinkedListStack"
![基于链表实现栈的入栈出栈操作](stack.assets/linkedlist_stack.png){ class="animation-figure" }
![基于链表实现栈的入栈出栈操作](stack.assets/linkedlist_stack_step1.png){ class="animation-figure" }
=== "push()"
![linkedlist_stack_push](stack.assets/linkedlist_stack_push.png){ class="animation-figure" }
![linkedlist_stack_push](stack.assets/linkedlist_stack_step2_push.png){ class="animation-figure" }
=== "pop()"
![linkedlist_stack_pop](stack.assets/linkedlist_stack_pop.png){ class="animation-figure" }
![linkedlist_stack_pop](stack.assets/linkedlist_stack_step3_pop.png){ class="animation-figure" }
<p align="center"> 图 5-2 &nbsp; 基于链表实现栈的入栈出栈操作 </p>
@ -1094,13 +1094,13 @@ comments: true
使用数组实现栈时,我们可以将数组的尾部作为栈顶。如图 5-3 所示,入栈与出栈操作分别对应在数组尾部添加元素与删除元素,时间复杂度都为 $O(1)$ 。
=== "ArrayStack"
![基于数组实现栈的入栈出栈操作](stack.assets/array_stack.png){ class="animation-figure" }
![基于数组实现栈的入栈出栈操作](stack.assets/array_stack_step1.png){ class="animation-figure" }
=== "push()"
![array_stack_push](stack.assets/array_stack_push.png){ class="animation-figure" }
![array_stack_push](stack.assets/array_stack_step2_push.png){ class="animation-figure" }
=== "pop()"
![array_stack_pop](stack.assets/array_stack_pop.png){ class="animation-figure" }
![array_stack_pop](stack.assets/array_stack_step3_pop.png){ class="animation-figure" }
<p align="center"> 图 5-3 &nbsp; 基于数组实现栈的入栈出栈操作 </p>