算法和数据结构1.4栈

2019-07-25  本文已影响0人  数字d

栈是一种数据呈线性排列的数据结构。不过这种数据结构中,我们只能访问最新添加的数据。

栈是限定仅在表尾进行插入或者删除操作的线性表,对于栈来说,表的方向有唯一性,表尾指的是栈顶(top).
表头是栈底(bottom)。

栈就像是一摞书,拿到新书时我们会把它放在书堆的最上面,取书也只能从最上面的新书开始取。

往栈里面添加一条新数据的操作叫入栈也叫做“push”

从栈里面取出数据时候,是从最上面的数据开始取的,从栈中取出数据的操作叫做出栈也叫做“pop”

像这种最后添加的数据先被取出,即“后进先出”的结构,我们称为Last In First Out,简称LIFO。

与链表和数组一样,栈的数据结构也是线性的,但是在栈中,添加和删除数据操作只能在一端进行,访问数据也指那个访问到顶端的数据。

想要访问中间的数据时候,就必须通过出栈操作将目标数据移到栈顶才行。

栈只能在一端操作这一点十分不便,但是只需要访问最新数据时候,使用它就比较方便了。

栈的实际应用:

1.数制转换

2.括号匹配

3.行编辑程序

4.迷宫求解

5.表达式求值

参看:数据结构(C语言版)清华大学出版社 - 栈和队列

上一篇下一篇

猜你喜欢

热点阅读