24、设两个栈S1和S2共享同一空间数组a[0,1…MAX],为了最大限度利用数组空间,两个栈采用相向增长的方式,top[1]是低端栈s1的栈顶指针,top[2]是高端栈s2的栈顶指针,则栈满的判断条件是()A.top[1]+1==top[2]B.top[1]==0C.top[1]==MAXD.top[2]==MAX

题目

24、设两个栈S1和S2共享同一空间数组a[0,1…MAX],为了最大限度利用数组空间,两个栈采用相向增长的方式,top[1]是低端栈s1的栈顶指针,top[2]是高端栈s2的栈顶指针,则栈满的判断条件是()

A.top[1]+1==top[2]

B.top[1]==0

C.top[1]==MAX

D.top[2]==MAX


相似考题
参考答案和解析
top[1]+1==top[2]
更多“24、设两个栈S1和S2共享同一空间数组a[0,1…MAX],为了最大限度利用数组空间,两个栈采用相向增长的方式,top[1]是低端栈s1的栈顶指针,top[2]是高端栈s2的栈顶指针,则栈满的判断条件是()”相关问题
  • 第1题:

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


    正确答案:20
    20

  • 第2题:

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


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

  • 第3题:

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


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

  • 第4题:

    设用数组A[1,n]作为两个栈S1、S2的共用存储空间,对任一个栈,只有当数组A[1,n]全满时才不作入栈操作,则分配这两个栈空间的最佳方案是()。

    A.S1的栈底位置设为1,S2的栈底位置设为n
    B.S1的栈底位置设为n/2,S2的栈底位置设为n/2+1
    C.S1的栈底位置设为1,S2的栈底位置设为n/2
    D.S1的栈底位置设为n/2,S2的栈底位置设为1

    答案:A
    解析:
    由于栈中元素个数不固定,因此如果将栈底设在中间位置,固定了栈中元素的个数,不能满足只有当数组全满时才不作入栈操作的要求。

  • 第5题:

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

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

    正确答案:C

  • 第6题:

    假定利用数组A[N]顺序存储一个栈,top表示栈顶指针,已知栈未满,则x入栈时所执行的操作是()。

    • A、a[--top]=x
    • B、a[top--]=x
    • C、a[++top]=x
    • D、a[top++]=x

    正确答案:D

  • 第7题:

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

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

    正确答案:A

  • 第8题:

    若用数组S[0..n-1]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。为这两个栈分配空间的最佳方案是()。

    • A、S1的栈底位置为0,S2的栈底位置为n-1
    • B、S1的栈底位置为0,S2的栈底位置为n/2-1
    • C、S1的栈底位置为1,S2的栈底位置为n
    • D、S1的栈底位置为1,S2的栈底位置为n/2

    正确答案:A

  • 第9题:

    单选题
    假定利用数组a[N]顺序存储一个栈,用top表示栈顶元素的下标位置,用top= =-1表示栈空,用top= =N - 1表示栈满,则该数组所能存储的栈的最大长度为()
    A

    N - 1

    B

    N

    C

    N+1

    D

    N十2


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

  • 第10题:

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

    top=0

    B

    top=maxSize

    C

    top=-1


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

  • 第11题:

    填空题
    若数组s[0..n-1]为两个栈s1和s2的共用存储空间,仅当s[0..n-1]全满时,各栈才不能进行栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为()。

    正确答案: s[0],s[n-1]
    解析: 暂无解析

  • 第12题:

    单选题
    设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是()。
    A

    S1的栈底位置为0,S2的栈底位置为n-1

    B

    S1的栈底位置为0,S2的栈底位置为n/2

    C

    S1的栈底位置为0,S2的栈底位置为n

    D

    S1的栈底位置为0,S2的栈底位置为1


    正确答案: D
    解析: 两栈共享空间首先两个栈是相向增长的,栈底应该分别指向两个栈中的第一个元素的位置,并注意C++中的数组下标是从0开始的。

  • 第13题:

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

    A.50

    B.19

    C.1

    D.20


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

  • 第14题:

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

    A.top=0

    B.top=maxSize

    C.top=maxSize

    D.top=-1


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

  • 第15题:

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


    正确答案:
    20

  • 第16题:

    设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是()。

    • A、S1的栈底位置为0,S2的栈底位置为n-1
    • B、S1的栈底位置为0,S2的栈底位置为n/2
    • C、S1的栈底位置为0,S2的栈底位置为n
    • D、S1的栈底位置为0,S2的栈底位置为1

    正确答案:A

  • 第17题:

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

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

    正确答案:C

  • 第18题:

    若数组s[0..n-1]为两个栈s1和s2的共用存储空间,仅当s[0..n-1]全满时,各栈才不能进行栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为()。


    正确答案:s[0],s[n-1]

  • 第19题:

    假定利用数组a[n]顺序存储一个栈,用top表示栈顶指针,用top==n+l表示栈空,该数组所能存储的栈的最大长度为n,则表示栈满的条件是()

    • A、top == -1
    • B、top == 0
    • C、top>l
    • D、top == 1

    正确答案:D

  • 第20题:

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

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

    正确答案:A

  • 第21题:

    单选题
    假定利用数组a[n]顺序存储一个栈,用top表示栈顶指针,用top==n+l表示栈空,该数组所能存储的栈的最大长度为n,则表示栈满的条件是()
    A

    top == -1

    B

    top == 0

    C

    top>l

    D

    top == 1


    正确答案: D
    解析: 栈空是指栈中不含任何数据元素,栈满是指栈中没有任何的空闲空间。根据本题的假设栈顶指针top==n+l表示栈空,可知,该数组将栈底放在下标大的那端,它的下界为1,上界为n,当top=n时存入第一个元素,因为该数组所能存储的栈的最大长度为n,所以,栈满时栈顶指针top应等于1。

  • 第22题:

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

    top=0

    B

    top=maxSize

    C

    top=maxSize

    D

    top=-1


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

  • 第23题:

    单选题
    假定利用数组A[N]顺序存储一个栈,top表示栈顶指针,已知栈未满,则x入栈时所执行的操作是()。
    A

    a[--top]=x

    B

    a[top--]=x

    C

    a[++top]=x

    D

    a[top++]=x


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

  • 第24题:

    单选题
    若栈采用顺序存储方式存储,现两栈共享空间V[1  m],top[1].top[2]分别代表第1和第2个栈的栈顶,栈1的底在V[1],栈2的底在V[m],则栈满的条件是(  )。
    A

    │top[2]-top[1]∣=0

    B

    top[1]+1=top[2]

    C

    top[1]+top[2]=m

    D

    top[1]=top[2]


    正确答案: A
    解析: