niusouti.com

将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:Typedef struct{int top[2],bot[2]; //栈顶和栈底指针SElemType *V; //栈数组int m; //栈最大可容纳元素个数}DblStack

题目

将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:

Typedef struct

{int top[2],bot[2]; //栈顶和栈底指针

SElemType *V; //栈数组

int m; //栈最大可容纳元素个数

}DblStack


相似考题
更多“将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针t ”相关问题
  • 第1题:

    假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bosom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有______个元素。


    正确答案:19。
    19。 解析:当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。

  • 第2题:

    假设用一个长度为50的数组(数组元素的下标从0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有______个元素。


    正确答案:20
    20

  • 第3题:

    假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。


    正确答案:
    20

  • 第4题:

    假设用—个长度为50的数组(数组元素的下标从0至到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶揩针top指向栈顶元素,如果bottomn=49,top=30(数组下标),则栈中具有【 】个元素。


    正确答案:20
    20 解析:栈是限定在—端进行插入与删除的线性表。在栈中,允许插入与删除的—端称为栈项,而不允许插入与删除的另—端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织据的,因此,栈也被称为“先进后出”表或“后进先出”表。通常用指针top来指示栈顶的位置,用指针bottom指向栈底。由题意可知栈顶指针top=30,bottom=49,则栈中具有的元素应该为bottom-top+1即49-30+1=20。

  • 第5题:

    假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。

    A.50

    B.19

    C.1

    D.20


    正确答案:B
    B。【解析】当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。