• 2022-06-09
    下列关于栈的叙述中,错误的是( )。
    A: 采用非递归方式重写递归程序是必须使用栈。
    B: 函数调用时,系统要用栈保存必要的信息。
    C: 只要确定了入栈次序,即可确定出栈次序。
    D: 栈是一种受限的线性表,允许在其两端进行操作。
    E: 消除递归不一定需要使用栈。
    F: 进栈和出栈操作的算法时间复杂度均为 O(n)。
    G: 两个栈共享一片连续的内存空间时,为了提高内存利用率、减少溢出,应当把两个栈的栈底分别设置在整篇内存空间的两端。
  • A,C,D,F

    内容

    • 0

      为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的栈底分别设在这片内存空间的两端,这样栈满的条件是:两栈顶指针值相减的绝对值为1(或两栈顶指针相邻)。

    • 1

      为了增加内存空间的利用率,由两个栈共享一片连续的内存空间时,应将两栈的栈底分别设在这片内存空间的两端,这样,当时,才表示栈满

    • 2

      3.2.4 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时应将两栈的( )分别设在这片内存空间的两端。 A: 长度 B: 深度 C: 栈顶 D: 栈底

    • 3

      问题:两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。选项:A:错B:对 A: 正确 B: 错误

    • 4

      为了增加内存空间的利用率和减少溢出的可能,在两个栈共享一片连续的存储空间时,应将两个栈的栈顶(初始的时候栈底和栈顶重合;元素进栈时,两栈顶相向运动)分设在这片存储空间的两端,当______时才产生上溢。 A: 两个栈的栈顶同时到达栈空间的中心点 B: 其中一个栈的栈顶到达栈空间的中心点 C: 两个栈的栈顶在栈空间的某一位置相遇 D: 两个栈的栈顶相加超过了栈空间的最大容量