当前位置:首页 » 服务存储 » 栈的存储空间基本运算例题讲解
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

栈的存储空间基本运算例题讲解

发布时间: 2023-08-06 17:39:37

⑴ 栈的顺序储存空间中,元素个数怎么算

因为栈顶在高位,也就是m+1处,进栈时top向低下标扩展,因此当top为m时,有1个元素;为m -1 时,有2个元素;为20时,有m- 20 +1 = m-19个元素在栈中。

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。

向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

(1)栈的存储空间基本运算例题讲解扩展阅读:

1、进栈(PUSH)算法

① 若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);

② 置TOP=TOP+1(栈指针加1,指向进栈地址);

③ S(TOP)=X,结束(X为新进栈的元素);

2、退栈(POP)算法

① 若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②);

② X=S(TOP),(退栈后的元素赋给X):

③ TOP=TOP-1,结束(栈指针减1,指向栈顶)。

⑵ 设栈的顺序存储空间为S(1:m),初始状态为TOP=m+1。现经过一系列入栈与退栈运算后,

栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则栈顶-栈底=20-0=20个元素。

⑶ 设栈的存储空间为S(1:50),初始状态为top=0,现经过一系列正常的入栈与退栈操作后,top=

栈的顺序存储空间为S(1:50),初始状态为top=0。
top可以理解为如果要再放入一个元素,这个元素存放的位置为top—1,top=0,top—1=—1,显然不可能在存放下一个元素,所以初始状态为满,经过一系列操作,top为30,同理,如果要再存放一个元素,位置为30—1=29,所以现在30是有元素的,30到50,一共为21个元素,所以答案为21。