网站怎么添加软件,建筑工地招工网,云服务器最便宜,外贸网站推广哪个平台好栈的基本概念
讲基本概念还是回到数据结构的三要素#xff1a;逻辑结构#xff0c;物理结构和数据运算。
从逻辑结构来讲#xff0c;栈的各个数据元素之间是通过是一对一的线性连接#xff0c;因此栈也是属于线性表的一种从物理结构来说#xff0c;栈可以是顺序存储和顺…栈的基本概念
讲基本概念还是回到数据结构的三要素逻辑结构物理结构和数据运算。
从逻辑结构来讲栈的各个数据元素之间是通过是一对一的线性连接因此栈也是属于线性表的一种从物理结构来说栈可以是顺序存储和顺序表一样也可以是链式存储和链表一样但栈的主要特点不是存储的位置关系而是操作限制栈的插入或删除都只可以在其一端进行。从数据运算来讲栈的插入和删除都只能在一端进行因此其基本操作没有删除和插入一说而是讲进栈和出栈除了这两个基本操作外栈还包括初始化栈销毁栈读栈顶元素等操作。 栈的基本术语 我们可以将栈视为一个长形的桶把数据元素看成一个个小球然后一个个将球放进桶里的过程。栈底元素最先放进去的小球在桶的最下面我们叫它栈底元素栈顶元素最后放进去的小球在桶的最上面我们叫它栈顶元素栈顶所以我们把能插入和删除的那一端称为栈顶栈顶是可变的栈底不能插入和删除的呢一段称为栈底栈底是固定的空栈栈里面没有一个元素称为空栈 数据元素进栈顺序1-2-3 数据元素出栈顺序3-2-1 栈的特点是先进后出(LIFO) 栈的基本操作创建栈构建一个空栈S分配内存空间销毁栈释放栈内元素及其内存空间进栈在栈未满时将元素x从栈顶压入栈称为新栈顶出栈在栈不是空栈时弹出栈顶元素下一个元素称为新栈顶元素查栈顶元素判别栈是否为空栈 栈操作的常见错误栈下溢(underflow) top0 即为空栈 empty 时执行出栈栈上溢(overflow) topn n为栈的长度