参考答案和解析
正确答案: A
解析:
初始状态为栈顶指针指向高地址,top=m+1,每次入栈top-1。那么当第x个元素入栈时,top=m+1-x=20,解得x=m+1-20=m-19。答案选择C选项。
更多“单选题设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为(  )。A 30B 20C m-19D m-20”相关问题
  • 第1题:

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

    A.30

    B.29

    C.20

    D.19


    正确答案:C

  • 第2题:

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

    A.m+1

    B.0

    C.m-1

    D.产生栈空错误


    正确答案:A

  • 第3题:

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

    A.30

    B.31

    C.20

    D.19


    正确答案:A

  • 第4题:

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


    正确答案:20
    20

  • 第5题:

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

    A、不变

    B、top=n

    C、top++

    D、top--


    正确答案:D

  • 第6题:

    设栈的存储空间为S(1:60),初始状态为top=61。现经过一系列正常的入栈与退栈操作后,top=25,则栈中的元素个数为()。

    A.36

    B.35

    C.26

    D.25


    正确答案:A

  • 第7题:

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


    正确答案:
    20

  • 第8题:

    在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()

    • A、e=s[top--];
    • B、s[--top]=e;
    • C、e=s[++top];
    • D、s[++top]=e;

    正确答案:A

  • 第9题:

    顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。

    • A、s.elem[top]=e;s.top=s.top+1;
    • B、s.elem[top+1]=e;s.top=s.top+1;
    • C、s.top=s.top+1;s.elem[top+1]=e;
    • D、s.top=s.top+1;s.elem[top]=e;

    正确答案:D

  • 第10题:

    单选题
    设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为(  )。
    A

    30

    B

    20

    C

    m-19

    D

    m-20


    正确答案: B
    解析:
    初始状态为栈顶指针指向高地址,top=m+1,每次入栈top-1。那么当第x个元素入栈时,top=m+1-x=20,解得x=m+1-20=m-19。答案选择C选项。

  • 第11题:

    单选题
    顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为()。
    A

    s.elem[top]=e;s.top=s.top+1;

    B

    s.elem[top+1]=e;s.top=s.top+1;

    C

    s.top=s.top+1;s.elem[top+1]=e;

    D

    s.top=s.top+1;s.elem[top]=e;


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

  • 第12题:

    单选题
    设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为(  )。
    A

    top=top+1;

    B

    top=top-1;

    C

    top->next=top;

    D

    top=top->next;


    正确答案: A
    解析:

  • 第13题:

    设栈的顺序存储空间为S(1:m),初始状态为top=m+1,则栈中的数据元素个数为()。

    A.m-top+1

    B.top-m+1

    C.m-top

    D.top-m


    正确答案:A

  • 第14题:

    设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的入栈与退栈操作后,top=20,则栈中的元素个数为()。

    A.31

    B.30

    C.21

    D.20


    正确答案:A

  • 第15题:

    ● 若一个栈以向量V[1..n]存储,初始使栈指针top为n,则下面x入栈的正确操作是()。设top指针指向栈顶元素。() A. top=top+1;V[top]=x B. V[top]=x;top=top+1C. top=top-1;V[top]=x D. V[top]=x ;top=top-1


    正确答案:C
    本题考查入栈操作。需要注意的是,栈顶指针top的下标是从n开始的,即栈是向小下标方向移动的。所以top移动的时候需减1;又因为top指针指向栈顶元素,所以要先更新top指针,再将x入栈。

  • 第16题:

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

    A.50

    B.19

    C.1

    D.20


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

  • 第17题:

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

    A.发生栈满的错误

    B.2

    C.m

    D.0


    正确答案:A
    栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。人栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。题目中初始状态为top=m+1,可知入栈栈顶指针top=top一1,出栈栈顶指针top=top+1,由于栈长为rn,当top=1时栈满,不能再进行人栈操作。故选A选项。

  • 第18题:

    设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为()。

    A.30

    B.20

    C.m-19

    D.m-20


    正确答案:C

  • 第19题:

    假定利用数组a[m]顺序存储一个栈,用top表示栈顶指针,用top= =0表示栈满,该数组所能存储的栈的最大长度为m,当()时,再做退栈运算会发生“下溢”。

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

    正确答案:C

  • 第20题:

    顺序栈s,入栈的元素是e,栈顶是top,栈顶top指示栈顶元素所在位置而不是下一个空位置,则入栈正确的是()。

    • A、s[top++]=e;
    • B、s[++top]=e;
    • C、top++;s[top]=e;
    • D、s[top]=e;top++;

    正确答案:B,C

  • 第21题:

    多选题
    顺序栈s,入栈的元素是e,栈顶是top,栈顶top指示栈顶元素所在位置而不是下一个空位置,则入栈正确的是()。
    A

    s[top++]=e;

    B

    s[++top]=e;

    C

    top++;s[top]=e;

    D

    s[top]=e;top++;


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

  • 第22题:

    单选题
    在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()
    A

    e=s[top--];

    B

    s[--top]=e;

    C

    e=s[++top];

    D

    s[++top]=e;


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

  • 第23题:

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

    30

    B

    29

    C

    20

    D

    19


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

  • 第24题:

    单选题
    假定利用数组a[m]顺序存储一个栈,用top表示栈顶指针,用top= =0表示栈满,该数组所能存储的栈的最大长度为m,当()时,再做退栈运算会发生“下溢”。
    A

    top == m-1

    B

    top == 0

    C

    top == m

    D

    top == 1


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