求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Stack(计算机科学中是一种数据结构)查看源代码讨论查看历史

跳转至: 导航搜索
Stack(计算机科学中是一种数据结构)

来自网络的图片

计算机科学中是一种数据结构

栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈是只能在某一端插入和删除的特殊线性表。

用桶堆积物品,先堆进来的压在底下,随后一件一件往上堆。取走时,只能从上面一件一件取。读和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一端称栈底。插入一般称为进栈,删除则称为退栈。 栈也称为后进先出表。

基本信息

中文名;栈

外文名;Stack

性   质;计算机科学中是一种数据结构

进栈算法

①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②); ②置TOP=TOP+1(栈指针加1,指向进栈地址); ③S(TOP)=X,结束(X为新进栈的元素); 退栈算法编辑 播报 ①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②); ②X=S(TOP),(退栈后的元素赋给X); ③TOP=TOP-1,结束(栈指针减1,指向栈顶)。 栈可以用来在函数调用的时候存储断点,做递归时要用到栈!

英语

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; }

适配器

include<stack.h>头文件,STL中的很有用的容器适配器之一,默认基于Deque容器实现,可以在定义时覆盖其默认容器类型,但一般并不需要。 包含以下几个成员函数: empty() 堆栈为空则返回真 pop() 移除栈顶元素(不会返回栈顶元素的值) push() 在栈顶增加元素 size() 返回栈中元素数目 top() 返回栈顶元素 [1]

参考文献