错题
1.最大容量为n的循环队列,队尾指针为rear,队头指针为front,则队空的条件是(A
)。
A.rear==front
B.(rear+1)%n == front
表示循环队列是满队
C.rear+1 == front
D.(rear-l)%n == front
ps:循环队列中:
队满:rear == front
队空:(rear+1)%MaxSize == front
入队操作:sq->rear = (sq->rear+1)%MaxSize
出队操作:sq->front = (sq->front+1)%MaxSize
循环队列出队和入队时对与头尾指针加一后求余是为了避免加溢出,逻辑结构是实现循环,但实际的物理结构上还是占用了一块固定的存储空间。
2.一个栈的输入序列为1,2,3,…,n,若输出序列的第一个元素是i,则输出第j(1<=j<=i)个元素是
( i-j+1
)。
因为栈中存储的是自然数。而在取用时的第一个元素的值是i。所以取用时的第j个元素的值就是由后向前树的第j个值。比如:
栈中存放:1 2 3 4 5
则在取用时的i就是这里的5。而j我们不防定为4。则我们需要得到的值是2。即从后向前数四个值,所以表达式是i-j+1。