判定一个栈顶指针为top的堆栈ST(最多元素个数为m)为空的条件是()。A.ST->top != 0B.ST->top == 0C.ST->top != mD.ST->top == m

题目

判定一个栈顶指针为top的堆栈ST(最多元素个数为m)为空的条件是()。

A.ST->top != 0

B.ST->top == 0

C.ST->top != m

D.ST->top == m


相似考题
更多“判定一个栈顶指针为top的堆栈ST(最多元素个数为m)为空的条件是()。”相关问题
  • 第1题:

    设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为()。

    A.m+1

    B.0

    C.m-1

    D.产生栈空错误


    正确答案:A

  • 第2题:

    判定一个栈ST(最多元素为m0)为空的条件是()

    A. ST->top<>0

    B. ST->top=0

    C. ST->top<>m0

    D. ST->top=m0


    正确答案:B

  • 第3题:

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


    正确答案:20
    20

  • 第4题:

    在一个可存放n个数据元素的顺序栈中,假设以高地址端为栈底,以top为栈顶指针,当向栈中压入一个数据元素时,top的变化是()。

    A、不变

    B、top=n

    C、top++

    D、top--


    正确答案:D

  • 第5题:

    判断一个栈ST(最多元素为Maxsize)为空的条件是()。

    A.ST->top!==一1

    B.ST->top==-1

    C.ST->top!==Maxsize-1

    D.ST->top==Maxsize-1


    正确答案:B

  • 第6题:

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

    A.50

    B.19

    C.1

    D.20


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

  • 第7题:

    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。

    Atop->data=x;

    Btop=top->next;

    Cx=top->data;

    Dx=top->data;top=top->next;


    A

  • 第8题:

    判定一个栈ST(最多元素为m0)为空的条件是()

    • A、ST->top<>0
    • B、ST->top=0
    • C、ST->top<>m0
    • D、ST->top=m0

    正确答案:D

  • 第9题:

    删除非空链式存储结构的堆栈(设栈顶指针为top)的一个元素的过程是依次执行:p=top,top=p->next,free(p)。


    正确答案:正确

  • 第10题:

    设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。

    • A、top->data=x;
    • B、top=top->next;
    • C、x=top->data;
    • D、x=top->data;top=top->next;

    正确答案:A

  • 第11题:

    单选题
    正常情况下,删除非空的顺序存储结构的堆栈的栈顶元素,栈顶指针top的变化是()。
    A

    top不变

    B

    top=0

    C

    top=top+1

    D

    top=top-1


    正确答案: D
    解析: 暂无解析

  • 第12题:

    填空题
    已知一个顺序栈*s,栈顶指针是top,它的容量为MAXSIZE,则判断栈空的条件为(),栈满的条件是()

    正确答案: s->top==-1,s->top==MAXSIZE-1
    解析: 暂无解析

  • 第13题:

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

    Typedef struct

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

    SElemType *V; //栈数组

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

    }DblStack


    参考答案:
      两栈共享向量空间,将两栈栈底设在向量两端,初始时,左栈顶指针为-1,右栈顶为m。两栈顶指针相邻时为栈满。两栈顶相向、迎面增长,栈顶指针指向栈顶元素。
      [算法描述]
      (1) 栈初始化
      int Init()
      {S.top[0]=-1;
      S.top[1]=m;
      return 1; //初始化成功
      }
      (2) 入栈操作:
      int push(stk S ,int i,int x)
      ∥i为栈号,i=0表示左栈,i=1为右栈,x是入栈元素。入栈成功返回1,失败返回0
      {if(i<0||i>1){ cout<<“栈号输入不对”<  if(S.top[1]-S.top[0]==1) {cout<<“栈已满”<  switch(i)
      {case 0: S.V[++S.top[0]]=x; return(1); break;
      case 1: S.V[--S.top[1]]=x; return(1);
      }
      }∥push
      (3) 退栈操作
      ElemType pop(stk S,int i)
      ∥退栈。i代表栈号,i=0时为左栈,i=1时为右栈。退栈成功时返回退栈元素
      ∥否则返回-1
      {if(i<0 || i>1){cout<<“栈号输入错误”<  switch(i)
      {case 0: if(S.top[0]==-1) {cout<<“栈空”<  else return(S.V[S.top[0]--]);
      case 1: if(S.top[1]==m { cout<<“栈空”<  else return(S.V[S.top[1]++]);
      }∥switch
      }∥算法结束
      (4) 判断栈空
      int Empty();
      {return (S.top[0]==-1 && S.top[1]==m);
      }
      [算法讨论]
      请注意算法中两栈入栈和退栈时的栈顶指针的计算。左栈是通常意义下的栈,而右栈入栈操作时,其栈顶指针左移(减1),退栈时,栈顶指针右移(加1)。

  • 第14题:

    正常情况下,删除非空的顺序存储结构的堆栈的栈顶元素,栈顶指针top的变化是()。

    A、top不变

    B、top=0

    C、top=top+1

    D、top=top-1


    参考答案:D

  • 第15题:

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

    A.50

    B.19

    C.1

    D.20


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

  • 第16题:

    栈的数组表示中,top为栈顶指针,栈空的条件是(31)。

    A.top=0

    B.top=maxSize

    C.top=maxSize

    D.top=-1


    正确答案:A
    解析:栈的数组表示中,栈顶指针指向数组的第一个元素时,表示栈为空。

  • 第17题:

    判断一个栈ST(最多元素为Maxsize)为满的条件是()。

    A.ST->top!==-1

    B.ST->top==-1

    C.ST->top!==Maxsize-1

    D.ST->top==Maxsize-1


    正确答案:D

  • 第18题:

    判定一个栈ST(最多元素为m0)为满的条件是()。

    A.ST->top=m0-1
    B.ST->top=0
    C.ST->top<>m0
    D.ST->top<>0

    答案:A
    解析:
    如果一个栈的栈顶指针为m0-1,则该栈为满。

  • 第19题:

    栈的数组表示中,top为栈顶指针,栈空的条件是()

    • A、top=0
    • B、top=maxSize
    • C、top=-1

    正确答案:C

  • 第20题:

    已知一个顺序栈*s,栈顶指针是top,它的容量为MAXSIZE,则判断栈空的条件为(),栈满的条件是()


    正确答案:s->top==-1;s->top==MAXSIZE-1

  • 第21题:

    栈的数组表示中,top为栈顶指针,栈空的条件是()。

    • A、top=0
    • B、top=maxSize
    • C、top=maxSize
    • D、top=-1

    正确答案:A

  • 第22题:

    单选题
    判定一个栈ST(最多元素为m0)为空的条件是()
    A

    ST->top<>0

    B

    ST->top=0

    C

    ST->top<>m0

    D

    ST->top=m0


    正确答案: A
    解析: 暂无解析

  • 第23题:

    判断题
    删除非空链式存储结构的堆栈(设栈顶指针为top)的一个元素的过程是依次执行:p=top,top=p->next,free(p)。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第24题:

    单选题
    设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为(  )。
    A

    30

    B

    29

    C

    20

    D

    19


    正确答案: A
    解析:
    栈是一种特殊的线性表,它所有的插入与删除操作都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即取出栈顶元素赋予指定变量。在内存中,栈的增大方向是地址递减,元素依次存储在单元30:49中,个数为:49-30+1=20个。答案选择C选项。