下列关于栈的说法中,正确的是( )。 Ⅰ.若进栈顺序为a、b、c,则通过出栈操作可能得到5个a、b、c的不同出栈序列 Ⅱ.链式栈的栈顶指针一定指向栈的链尾 Ⅲ.两个栈共享一个向量空间的好处是减少存取时间

admin2022-06-07  25

问题 下列关于栈的说法中,正确的是(    )。
    Ⅰ.若进栈顺序为a、b、c,则通过出栈操作可能得到5个a、b、c的不同出栈序列
    Ⅱ.链式栈的栈顶指针一定指向栈的链尾
    Ⅲ.两个栈共享一个向量空间的好处是减少存取时间

选项 A、仅Ⅰ
B、仅Ⅰ、Ⅱ
C、仅Ⅱ
D、仅Ⅱ、Ⅲ

答案A

解析 Ⅰ:该选项旨在让考生知道一个公式。对于n个不同元素进栈,出栈序列的个数为可以马上得出,当n=3时,出栈序列个数为故Ⅰ正确。
    Ⅱ:链式栈一般采用单链表,栈顶指针即为链头指针。进栈和出栈均在链头进行,每次都要修改栈顶指针,链空即栈空(top==NULL),故Ⅱ错误。
    Ⅲ:由于栈中数据的操作只有入栈和出栈,且时间复杂度均为O(1),因此并没有减少存取时间,故Ⅲ错误。  补充知识点:共享栈  提示:两个栈共享一个数组A[0.MaxSize—1]的空间,从而构成共享栈。数组A的两端是固定的,而栈底也是固定的,为此将下标为0的一端作为栈1的栈底,其栈项指针为top1;将下标为。MaxSize—1的一端作为栈2的栈底,其栈顶指针为top2,如图7—4所示。

    栈l的四要素如下:
    ①栈空条件:top1==一1。
    ②栈满条件:top1==top2一1。
    ③元素x进栈:top1++;将元素x插入A[top1]处。
    ④出栈元素:弹出A[top1]元素;top1-。
    栈2的四要素如下:
    ①栈空条件:top2==MaxSize。
    ②栈满条件:top2==top1+1。
    ③元素x进栈:top2一;将元素x插入A[top2]处。
    ④出栈元素:弹出A[top2]元素;top2++。
    注:以上都默认指针指向当前元素的下一个位置。
转载请注明原文地址:https://kaotiyun.com/show/dx3i777K
0

相关试题推荐
最新回复(0)