请教几个 栈和队列的题目

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:51:09
1.下列对于循环队列的说法,正确的是:
A) 循环队列就是队列的顺序存储方式
B) 判断循环队列Q满的条件是:Q.rear=Q.front(即队头指针与队尾指针值相同)
C) 判断循环队列Q满的条件是:Q.rear=Q.front=0
D) 循环队列的存储不要求用一组地址连续的存储单元
2.在一个链栈中,已知s为栈顶指针(直接指向栈顶元素结点,无头结点),t为栈底指针,直接指向栈底元素,则插入r结点的操作为:
A) t->next=r;t=r;
B) r->next=s;s=r;
C) s->next=r;s=r;
D) r->next=t;
3.一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是
A 3,5,4,2,1
B 3,2,4,5,1
C 1,2,3,4,5
D 5,4,3,1,2
4.在一个链队中,假设f和r分别为队首和队尾指针,则插入s节点的运算时
A f->next=s;f=s
B r->next=s;r=s
C s->next=r;r=s
D s->next=f;f=s
5. 循环队列是空队列的条件是
A Q.rear = Q.front
B (Q.rear+1)%maxsize=Q.front
C Q.rear= =0
D Q.rear – Q.front = = 0
------------------------------------------------------------------
10.以数组Q[0..m-1]存放循环队列中的元素,变量rear和qulen分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是( )
(A)rear-qulen (B)rear-qulen+m
(C) (rear-qulen+m+1)% m (D) m-qulen
11.栈结构通常采用的两种存储结构是()。

1.D 可用链表存储
(bc错误原因见5)
2.C
此为定义,见书即可
3.D
错在1于2之前出栈
4.C
见定义
5.B
循环必然要有求模
7.B
依据二叉树表示表达式的定义(可见数据结构课本二叉树遍历部分),对此二叉树进行后序遍历即可得。
9.D
栈是后进先出的。pop的肯定是栈首,push后的项也将成为栈首。
10.C
同5
11.A
见定义
12.B
13.C
以上12、13 题目应该是默认栈底为NULL
14.B
见队列定义
15.A
同5