词条 | Stack |
释义 | 栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往堆。取走时,只能从上面一件一件取。堆和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一堆称栈底。插入一般称为进栈,删除则称为退栈。 栈也称为后进先出表。 进栈(PUSH)算法①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②); ②置TOP=TOP+1(栈指针加1,指向进栈地址); ③S(TOP)=X,结束(X为新进栈的元素); 退栈(POP)算法①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②); ②X=S(TOP),(退栈后的元素赋给X); ③TOP=TOP-1,结束(栈指针减1,指向栈顶)。 栈可以用来在函数调用的时候存储断点,做递归时要用到栈! 字典栈 inn; shed; warehouse; 栈 (1) 栈 zhàn (2) (形声。从木,戋(jiān)声。本义:牲口棚) (3) 同本义 [shed] 栈,棚也。――《说文》。按,栅者,竖编之,棚者,横编之。 埋之马栈之下。――《战国策·齐策》 马栈最难。――《管子·小问》 编之以皁栈。――《庄子·马蹄》。崔注:“木棚也。” 毙于内栈。――颜延之《赭白马赋》 驽马恋栈豆。――《晋书·宣帝纪》 四墙其社,覆上栈下,示不得通。――《汉书》 (4) 又如:皂栈(马房中的栅栏和方格木条) (5) 古代用竹木条横排编成车箱的轻便车子 栈,竹木之车曰栈。――《说文》 有栈之车。――《诗·小雅·何草不黄》 车乘栈车。――《周礼·巾车》 宾奠币于栈左。――《仪礼·既夕礼》 (6) 又如:栈车(栈舆。古代用竹木条编成车箱的车,不蒙皮革);栈轸(指编排竹木条而成的车箱,不蒙皮革);栈舆马(陋车劣马。后用为居官清廉俭朴的典实) (7) 栈道 [plank road built along the face of a cliff] 栈道千里,通于蜀汉。――《战国策·秦策》 复从峡度栈以上。――《徐霞客游记·游黄山记》 (8) 又如:栈山(以栈为道跋越高山);栈山航海(谓跋山涉水,逾越险阻);栈谷(架设栈道以跨越山谷);栈径(栈道);栈云(谓栈道高与云连);栈路(栈道) (9) 留宿客商或储存货物的房屋 [warehouse;storehouse]。如:栈使(客栈的仆役);栈伙(旧时称店员或旅店的伙计);栈租(租借栈房的钱);栈货(指已运到并进入仓库的货物);栈阁(存放东西的屋子);栈师(旧称店堂、仓库里工作的职员);羊栈;栈豆(马记豆料);栈驹(饲养于厩中的马驹) (10) 姓 栈 (1) 栈 zhàn (2) [在栈内] 加料精养 [fee] (3) 又如:栈羊(在圈内加料精养的肥羊);栈鹿(在栈内加料精养的鹿) 栈道 zhàndào [a plank road built along the face of a cliff] 在悬崖绝壁上凿孔架木而成的窄路 栈房 zhànfáng (1) [warehouse; storehouse]∶仓库,货栈 (2) [方]∶客栈;旅店 栈桥 zhànqiáo [landing stage] 形状像桥的建筑物,建在车站、港口、矿山或工厂,用于装卸货物或上下旅客 栈 (栈) zhàn ㄓㄢˋ (1) 储存货物或供旅客住宿的房屋:货~。客~。~房。 (2) 竹木编成的遮蔽物或其他东西:马~(养马的竹木棚)。~车(古代用竹木编成棚的车子)。 (3) 用木料或其他材料架设的通道:~道。~桥(一种形似桥梁的建筑物,用于装卸货物、上下旅客等)。 (4) 通过,越过:~山航海。 郑码:FHM,U:6808,GBK:D5BB 笔画数:9,部首:木,笔顺编号:123411534 inn;shed;warehouse; 堆栈(Stack) 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。栈结构也称为后进先出表(LIFO)。 英语1.a warehouse; a storehouse 3.a shed; a pen 栈的演示算法 主要算法代码(c++实现): public void push(int val){ s[++tos]=val; } public void pop(){ if(!isEmpty()) tos--; } public int top(){ return s[tos]; } public boolean isEmpty(){ return (tos==-1)? true:false; } C++中的Stackstack 类, STL中的很有用的东东 包含以下几个成员函数: empty() 堆栈为空则返回真 pop() 移除栈顶元素(不会返回栈顶元素的值) push() 在栈顶增加元素 size() 返回栈中元素数目 top() 返回栈顶元素 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。