mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2025-12-08 19:06:00 +00:00
24 lines
792 B
Markdown
24 lines
792 B
Markdown
# 栈
|
|
|
|
在计算机科学中, 一个 **栈(stack)** 是一种抽象数据类型,用作表示元素的集合,具有两种主要操作:
|
|
|
|
* **push**, 添加元素到栈的顶端(末尾);
|
|
* **pop**, 移除栈最顶端(末尾)的元素.
|
|
|
|
以上两种操作可以简单概括为“后进先出(LIFO = last in, first out)”。
|
|
|
|
此外,应有一个 `peek` 操作用于访问栈当前顶端(末尾)的元素。
|
|
|
|
"栈"这个名称,可类比于一组物体的堆叠(一摞书,一摞盘子之类的)。
|
|
|
|
栈的 push 和 pop 操作的示意
|
|
|
|

|
|
|
|
*Made with [okso.app](https://okso.app)*
|
|
|
|
## 参考
|
|
|
|
- [Wikipedia](https://en.wikipedia.org/wiki/Stack_(abstract_data_type))
|
|
- [YouTube](https://www.youtube.com/watch?v=wjI1WNcIntg&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8&index=3&)
|