
2、某堆栈的输入序列是a、b、c、d,则下列序列中不可能是它的输出序列的是( )
A. a,c,b,d B. b,c,d,a C. c,d,b,a D. d,c,a,b
3、一个栈的输入序列为123…n,若输出序列的第一个元素是n,则输出的第i个元素是( )
A. 不确定 B. n-i+1 C. i D. n-i
4、输入序列为ABC,要变为CBA,经过的栈操作为( )
A. push,pop,push,pop,push,pop B. push,push,push,pop,pop,pop
C. push,push,pop,pop,push,pop D. push,pop,push,push,pop,pop
5、一个栈的输入序列为123…n,若输出序列的第一个元素是i,则输出的第j个元素是( )
A. i-j-1 B. i-j C. i-j+1 D. 不确定
6、在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front和rear分别为队首和队尾指针,他们分别指向队首元素和队尾元素的下一个存储单元,队列的最大存储量为maxSize,则队列的判满条件是()。
A.front=rear B.front=(rear-front+1)%maxSize
C.front=rear+1 D.front=(rear+1)%maxSize
基本知识
栈的实现(初始化、出栈、入栈、取栈顶元素、判空)
队列的实现(初始化、出队、入队、取队头元素、判空)
循环队列
编程题
1、两个栈实现队列的功能。
2、图书馆里有没有某本书,现有6人排队,有3个人来借此书,3个人来还此书,且若到某人借书时,若无书,则立即离开,多少种排队方法能借到书?
3、12个高矮不同的人排前后2排,同一排右边的都比左边的高 ,同一列,后边的比前面的高,共有多少种排法?
4、表达式求值。
