更多“在顺序栈空的情况下不能进行出栈操作,否则将产生“下溢”。”相关问题
  • 第1题:

    可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))d”,由于(),因此可判断出该表达式中的括号不匹配。

    A、需要进行出栈操作但栈已空

    B、需要进行入栈操作但栈已满

    C、表达式处理已结束,但栈中仍留有字符“(”

    D、表达式处理已结束,但栈中仍留有字符“)”


    正确答案:A

  • 第2题:

    设有初始为空的栈S,对于入栈序列a b c d e f, 经由进栈、进栈、出栈、进栈、进栈、出栈的操作后,栈顶和栈底元素分别为( )。

    A.c和bB.b和aC.c和aD.d 和b


    正确答案:C

  • 第3题:

    设有初始力空的栈s,对于入栈序列a、b、c、d,经由一个合法的进栈和出栈操作序列后(每个元素迸栈、出栈各1次),以c作为第一个出栈的元素时,不能得到的序列为( )。

    A.c d b aB.c b d aC.c d a bD.c b a d


    正确答案:C

  • 第4题:

    可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。在检查表达式“a*(b+c))-d”时,由于( ),因此可判断出该表达式中的括号不匹配。

    A.需要进行出栈操作但栈已空
    B.需要进行入栈操作但栈已满
    C.表达式处理已结束,但栈中仍留有字符“(”
    D.表达式处理已结束,但栈中仍留有字符")”

    答案:A
    解析:
    第二个右括号要执行出栈操作,但没有对应的左括号可执行出栈。

  • 第5题:

    设有初始为空的栈S,对于入栈序列a、b、c,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),不能得到的序列为( ).

    A.abc
    B.acb
    C.cab
    D.Cba

    答案:C
    解析:
    C中cba意味着c先出栈,此时b与a仍在栈中,按照先进后出的原则,这时候只能是按照ba出栈。

  • 第6题:

    在栈满的情况下不能做进栈操作,否则将产生“上溢”。


    正确答案:正确

  • 第7题:

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

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

    正确答案:A

  • 第8题:

    以链表作为栈的存储结构,出栈操作必须判别栈空的情况。


    正确答案:正确

  • 第9题:

    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,找结点的指针域为next,则可执行x=hs一>data;()。


    正确答案:hs===hs一>next;

  • 第10题:

    对顺序栈进行进栈、出栈操作,不涉及元素的前、后移动问题。


    正确答案:正确

  • 第11题:

    单选题
    今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S的栈顶元素为()
    A

    f

    B

    c

    C

    a

    D

    b


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

  • 第12题:

    填空题
    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,找结点的指针域为next,则可执行x=hs一>data;()。

    正确答案: hs===hs一>next
    解析: 暂无解析

  • 第13题:

    设初始栈为空,s表示入栈操作,x表示出栈操作,则(33)是合法的操作序列。

    A.sxxsssxxx

    B.xxssxxss

    C.sxsxssxx

    D.xssssxxx


    正确答案:C
    解析:本题考查数据结构中栈的基本知识。
    栈是操作受限的线性表,其特点是后进先出。应用中可将栈看作一个桶状的容器,当栈中有元素时,栈顶元素先出栈,栈为空时进行出栈操作是不正确的。因此,对于一个关于初始为空的栈的操作序列,要求序列中任何一个操作之前,入栈操作的次数要大于等于出栈操作的次数。题目选项中仅操作序列SXSXSSXX满足该要求。

  • 第14题:

    设有初始为空的栈S,对于入栈序列a、b、c,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),不能得到的序列为( )。

    A.abcB.acb C.cab D.Cba


    正确答案:C

  • 第15题:

    ●设push、pop分别表示入栈、出栈操作,若初始栈为空,对于元素序列a b c,

    则操作序列push、pop、pop、push、push、pop (36)。

    (36)

    A.得到出栈序列为abc

    B.得到出栈序列为bac

    C.得到出栈序列为bca

    D.是非法的操作序列


    正确答案:D

  • 第16题:

    数据结构中,在栈满情况下不能作进栈操作。()


    答案:对
    解析:
    在数据结构中,若栈满后再进行进栈操作,则会发生溢出。

  • 第17题:

    可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空, 然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))d”,由于( ),因此可判断出该表达式中的括号不匹配。

    A. 需要进行出栈操作但栈已空
    B. 需要进行入栈操作但栈已满
    C. 表达式处理已结束,但栈中仍留有字符“(”
    D. 表达式处理已结束,但栈中仍留有字符“)”

    答案:A
    解析:
    左括号入站,右括号出栈,, 该题中括号为: ( ) ) ,所以当执行第2个右括号时,第一个左括号已经出栈了,栈为空栈

  • 第18题:

    如果以链表作为栈的存储结构,则出栈操作时()

    • A、必须判别栈是否满
    • B、必须判别栈是否空
    • C、必须判别栈元素类型
    • D、队栈可不做任何判别

    正确答案:B

  • 第19题:

    在作退栈运算时应先判别栈是否()。

    • A、空
    • B、满
    • C、上溢
    • D、下溢

    正确答案:A

  • 第20题:

    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行x=hs->data;()。


    正确答案:hs=hs->next;

  • 第21题:

    在一个顺序栈中,若栈顶指针等于(),则为空栈;若栈顶指针等于(),则为满栈。


    正确答案:–1;StackMaxSize-1

  • 第22题:

    填空题
    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行x=hs->data;()。

    正确答案: hs=hs->next
    解析: 暂无解析

  • 第23题:

    判断题
    在栈满的情况下不能做进栈操作,否则将产生“上溢”。
    A

    B


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

  • 第24题:

    判断题
    以链表作为栈的存储结构,出栈操作必须判别栈空的情况。
    A

    B


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