1. | 【单选题】
在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印缓冲区,该缓冲区应该是一个 【正确答案: B】结构。 |
---|---|
2. | 【单选题】
设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是 【正确答案: C】 |
3. | 【单选题】
设计一个判别表达式中左右括号是否配对的算法,采用 【正确答案: B】数据结构最佳 |
4. | 【单选题】
栈和队列的主要区别在于 【正确答案: D】 |
5. | 【单选题】
设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是 【正确答案: A】 |
6. | 【单选题】
若一个栈的输入序列是1,2,3,...,n,其输出序列的第一个元素是n,则第i个输出元素是 【正确答案: D】 |
7. | 【单选题】在做退栈运算时,应先判别栈是否( )。 【正确答案: A】 A 空 B 满 C 上溢 D 下溢 |
8. | 【单选题】
一个队列的入队顺序是1,2,3,4,则队列的输出顺序是 【正确答案: B】 |
9. | 【单选题】
若一个栈的输入序列是1,2,3,……,n,其输出序列是p1,p2,……,pn,若p1=3,则p2的值 【正确答案: C】。 A. 一定是2 |
10. | 【单选题】栈操作数据的原则是( ) 【正确答案: B】 A 先进先出 B 后进先出 C 后进后出 D 不分顺序 |
11. | 【单选题】
表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和运算符栈为 【正确答案: C】,其中^表示乘幂。 |
12. | 【单选题】
当字符序列t3_依次通过栈,输出长度为3且可用作C语言标示符的序列有 【正确答案: C】。 |
13. | 【单选题】当栈中元素为n个,做进栈运算时发生上溢,则说明该栈的最大容量为( )。 【正确答案: B】 A n-1 B n C n+1 D n/2 |
14. | 【单选题】若一个栈的输入序列为1,2, 3, .n,输出序列的第一个元素是i,则第j个输出元素是( )。 【正确答案: D】 A j-i-1 B j-i C j-i+1 D 不确定的 |
15. | 【单选题】在做进栈运算时,应先判别栈是否( ); 【正确答案: B】 A 空 B 满 C 上溢 D 下溢 |
16. | 【单选题】
一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是 【正确答案: C】 |
17. | 【单选题】若一个栈以向量V[1, .. n]存储,初始栈顶指针top为n+1, 则x进栈的正确操作是( )。 【正确答案: C】 A top=top+1; V[top]=x; B V[top]=x; top=top+1; C top=top-1;V[top]=x; D V[top]=x; top=top-1; |
18. | 【单选题】元素A, B, C, D依次进顺序栈后,栈顶元素是( )。 【正确答案: D】 A A B B C C D D |
19. | 【单选题】递归过程或函数调用时,处理参数及返回地址要用一种称为( )的数据结构。 【正确答案: C】 A 队列 B 多维数组 C 栈 D 线性表 |
20. | 【单选题】若栈采用顺序存储方式存储,现两栈共享空间V[1,.,m], top[i]代表第i (i=1, 2)个栈的栈顶,栈1的底在V[1],栈2的底在V[m],则栈满的条件是( )。 【正确答案: B】 A |top[2]-top[1]|=0 B top[1]+1=top[2] C top[1]+top[2]=m D top[1]=top[2] |
21. | 【单选题】有6个元素以6,5,4,3,2,1的顺序进栈,( )不是合法的出栈序列。 【正确答案: C】 A 5,4,3,6,1, 2 B 4,5,3,1,2,6 C 3,4,6,5,2,1 D 2,3,4,1,5,6 |
22. | 【单选题】输入序列为A,B,C,当输出序列为C,B, A时,经过的栈操作为( )。 【正确答案: B】 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 |
23. | 【单选题】.对于链队,在进行出队操作时( )。 【正确答案: D】 A 仅修改头指针 B 仅修改尾指针 C 头、尾指针都要修改 D 头、尾指针可能都要修改 |
24. | 【单选题】设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。 【正确答案: D】 A 线性表的顺序存储结构 B 队列 C 线性表的链式存储结构 D 栈 |
25. | 【单选题】表达式a*(b+c)-d的后缀表达式是( )。 【正确答案: B】 A abcd*+- B abc+*d- C abc*+d- D -+*abcd |
26. | 【单选题】栈在( )中应用 【正确答案: D】 A 递归调用 B 子程序调用 C 表达式求值 D A,B,C |
27. | 【单选题】若用一个大小为6的数组来实现循环队列,并且当前rear和front 的值分别为0和3,当从队列中删除-一个元素,再加入两个元素后,rear 和front 的值分别为( )。 【正确答案: B】 A 1和5 B 2和4 C 4和2 D 5和1 |
28. | 【单选题】用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行出队操作时( ) 【正确答案: D】 A 仅修改队头指针 B 仅修改队尾指针 C 队头、队尾指针都要修改 D 队头、队尾指针都可能要修改 |
29. | 【单选题】元素A, B, C, D依次进顺序栈后,栈底元素是( )。 【正确答案: A】 A A B B C C D D |
30. | 【单选题】栈和队列的共同点是( )。 【正确答案: C】 A 都是先进先出 B 都是先进后出 C 只允许在端点处插入和删除元素 D 没有共同点 |
31. | 【单选题】最大容量为maxSize的循环队列,队尾指针是rear,队头是front, 则队空的条件是( )。 【正确答案: B】 A (rear+1 )%maxSize== front B rear==front C rear+1==front D (rear -1)%maxSize= front |
32. | 【单选题】如果以链表作为栈的存储结构,则元素出栈的时候( )。 【正确答案: C】 A 必须判断链栈是否为满 B 必须判断链栈元素的类型 C 必须判断链栈是否为空 D 无须做任何判断 |
33. | 【单选题】最不适合用作链栈的链表是(以下链表没有头结点) ( ) 【正确答案: D】 A 只有表头指针、没有表尾指针的循环双链表 B 只有表尾指针、没有表头指针的循环双链表 C 只有表尾指针、没有表头指针的循环单链表 D 只有表头指针、没有表尾指针的循环单链表 |
34. | 【单选题】经过以下栈的操作后,isEmpty(st)的返 回值为( )。 initStack(st); push(st,a); push(st, b);pop(st,x); pop(st,y); 【正确答案: C】 A a B b C 1 D 0 |
35. | 【单选题】经过以下栈的操作后,x的值为( )。 initStack(st); push(st,a); push(st,b); pop(st,x); getTop(st,x); 【正确答案: A】 A a B b C 1 D 0 |
36. | 【单选题】最不适合用作队列的链表是( )。 【正确答案: A】 A 只带队首指针的非循环双链表 B 只带队首指针的循环双链表 C 只带队尾指针的循环双链表 D 只带队尾指针的循环单链表 |
37. | 【单选题】最适合用作链队的链表(链表有头结点,有队首指针则指向头结点,有队尾指针则指向终端结点)是( ) 【正确答案: B】 A 只带队首指针的循环单链表 B 只带队尾指针的循环单链表 C 只带队首指针的非循环单链表 D 只带队尾指针的非循环单链表 |
38. | 【单选题】设循环队列的下标范围是0~n-1,其头、尾指针分别为f和r,则其元素个数为( )。 【正确答案: D】 A r-f B r-f-1 C (r-f)%n+1 D (r-f+n)%n |
39. | 【单选题】循环队列存储在数组A[0,..., m]中,则入队时的操作为( )。 【正确答案: D】 A rear=rear+1 B rear=(rear+1)%(m-1) C rear=(rear+1)%m D rear=(rear+1)%(m+1) |
判断题
1. |
循环队列中至少有一个数组空间是空闲的。 【正确答案:错误】 |
---|---|
2. |
在栈满的情况下不能做进栈操作,否则将产生“上溢” 【正确答案:正确】 |
3. |
有n个元素依次进栈,则出栈序列有(n-1)/2种 【正确答案:错误】 |
4. |
栈可以作为实现过程调用的一种数据结构。 【正确答案:正确】 |
5. |
在循环队列中,front指向队头元素的前一个位置rear指向队尾元素的位置,则队满的条件是front=rear。 【正确答案:错误】 |