假定一个链栈L的栈顶指针用top表示,当p指向的结点进栈时,执行的操作为()。
A. p->next=top;top=top->next;
B. top=p;p->next=top;
C. p->next=top->next;top->next=p;
D. p->next=top; top=p;
查看答案
当利用大小为M的数组循环存储一个队列时,该队列的最大长度是()。
A. M-2
B. M-1
C. M
D. M+1
顺序存储的循环队列sq中,假定front和rear分别为队头指针和队尾指针,则入队操作为()。
A. sq.rear=sq.rear+1;sq.data[sq.rear]=x;
B. sq.data[sq.rear]=x;sq.rear=sq.rear+1;
C. sq.rear=(sq.rear+1)%maxsize; sq.data[sq.rear]=x;
D. sq.data[sq.rear]=x;sq.rear=(sq.rear+1)%maxsize;
在一个长度为M的数组空间中,循环顺序存储着一个队列,该队列的队头和队尾指针分别用front和rear表示,则该队列中的元素个数为()。
A. (front-rear)%M
B. (rear-front+M)%M
C. (rear+M)%M
D. (front+M)%M
队列通常采用两种存储结构是()。
A. 顺序存储结构和链接存储结构
B. 散列方式和索引方式
C. 链接存储结构和数组
D. 线性存储结构和非线性存储结构