若栈采用顺序存储方式存储,现两栈共享空间,两栈栈底分别在顺序空间的两端,则栈满的条件是()
答案:
top[1]+1=top[2]
中缀表达式转后缀表达式参考 数据结构之栈的应用-后缀表达式
对于链队,在进行出队操作时()
答案:
头、尾指针可能都要修改
解析:
用不带头节点的单链表存储队列时,则在进行出队操作时()
答案:
头、尾指针可能都要修改
解析:同上题
循环队列
队空:front == rear (少用一个元素空间,约定队列头指针在尾指针的下一位置为满)
队满:(rear+1)%maxsize == front
入队:rear = (rear+1)%maxsize
出队:front = (front+1)%maxsize
求长度:(rear-front+maxsize)%maxsize
用单链表,含头节点表示的队列的对头在链表的()位置
答案:
链尾
链中
解析:
当队列只有一个元素时,头指针指向尾结点
当队列中元素大于一个时,头指针指向链中(链中位置是指除去头节点、尾结点的位置)
一栈的进栈序列是p1, p2, …, pn,输出序列为1, 2, 3, …, n,若p3=1,则p1()
答案:
不可能是 2
解析:
p3 = 1 且1是第一个出栈元素,p1,p2,p3这三个元素连续进栈,第二个出栈的是2,此时栈顶是p2,故只有p2, …, pn可能为2
某队列,两端可入队,出队仅允许在一端,a,b,c,d,e,依次入队,则不可能得到的顺序是( )
正确答案:C
A:bacde
B:dbace
C:dbcae
D:ecbad
解析:
一个栈如展序列为1,2,3,…,n,出栈序列为p1,p2,p3,…,pn,若p2=3,则p3可取的个数是()
答案:
n-1
解析:除3之外,其他值是均有可能取到的
已知循环队列存储在一维数组A[0,1,…,n-1]中,且队列非空时front和rear分别指向队头和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0],则初始时front和rear的值为
正确答案:B
0,0
0,n-1
n-1,0
n-1,n-1
解析:注意队列非空时front和rear分别指向队头和队尾元素,如果认为是D选择,则在进入一个元素后front=n-1,rear=0,这时队列是两个元素
下列叙述中正确的是( )。
正确答案: A
在栈中,栈顶指针的动态变化决定栈中元素的个数
在循环队列中,队尾指针的动态变化决定队列的长度
在循环链表中,头指针和链尾指针的动态变化决定链表的长度
在线性链表中,头指针和链尾指针的动态变化决定链表的长度
解析:
在栈中,栈底指针保持不变,有元素入栈,栈顶指名增加,有元素出栈,栈顶指针减少
在循环队列中,队头指针和队尾指针的动态变化决定队列的长度
无论在循环链表还是线性链表中,要插入或删除元素,只需要改变相应位置的结点指针即可,头指针和尾指针无法决定链表长度