栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往上堆。取走时,只能从上面一件一件取。读和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一端称栈底。插入一般称为进栈,删除则称为退栈。栈也称为后进先出表。
进栈算法
若TOPn时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作);
置TOPTOP1(栈指针加1,指向进栈地址);
S(TOP)X,结束(X为新进栈的元素);
退栈算法
若TOP0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈,空则下溢;不空则作);
XS(TOP),(退栈后的元素赋给X);
TOPTOP1,结束(栈指针减1,指向栈顶)。
栈可以用来在函数调用的时候存储断点,做递归时要用到栈!
字典
栈
栈
(1)
栈
zhn
(2)
(形声。从木,戋(jin)声。本义:牲口棚)
(3)
同本义〔shed〕
栈,棚也。《说文》。按,栅者,竖编之,棚者,横编之。
埋之马栈之下。《战国策齐策》
马栈最难。《管子小问》
编之以皁栈。《庄子马蹄》。崔注:“木棚也。”
毙于内栈。颜延之《赭白马赋》
驽马恋栈豆。《晋书宣帝纪》
四墙其社,覆上栈下,示不得通。《汉书》
(4)
又如:皂栈(马房中的栅栏和方格木条)
(5)
古代用竹木条横排编成车箱的轻便车子
栈,竹木之车曰栈。...
(全文)