3.3 链表习题
1、用单链表表示的链式队列的队头在链表的( )位置。
A. 链头 B. 链尾 C. 链中 D. 以上都不是
2、在双向循环链表中,在 p 所指的结点之后插入 s 指针所指的结点,其操作是( )。
A. p->next=s; s->prior=p;
p->next->prior=s; s->next=p->next;
B. s->prior=p; s->next=p->next;
p->next=s; p->next->prior=s;
C. p->next=s; p->next->prior=s;
s->prior=p; s->next=p->next;
D. s->prior=p; s->next=p->next;
p->next->prior=s; p->next=s;
3、向一个栈顶指针为 hs 的链栈中插入一个 s 结点时,应执行( )。
A.hs->next=s;
B.s->next=hs; hs=s;
C.s->next=hs->next; hs->next=s;
D.s->next=hs; hs=hs->next;
4、在一个链队列中,假定 front 和 rear 分别为队首和队尾指针,则删除一个结点的操
作为( )。
A.front=front->next B.rear=rear->next
C.rear=front->next D.front=rear->next
5、用链接方式存储的队列,在进行删除运算时( )。
A. 仅修改头指针 B. 仅修改尾指针
C. 头、尾指针都要修改 D. 头、尾指针可能都要修改
6、设链式栈中结点的结构为(data,link),且 top 是指向栈顶的指针。若想在链式栈
的栈顶插入一个由指针 s 所指的结点,则应执行的操作是( )。
A.top->link=s;
B.s->link=top->link; top->link=s;
C.s->link=top; top=s;
D.s->link=top; top=top->link;
7、设链式栈中结点的结构为(data,link),且 top 是指向栈顶的指针。若想摘除链式
栈的栈顶结点,并将被摘除结点的值保存到 x 中,则应执行的操作是( )。
A.x=top->data; top=top->link;
B.top=top->link; x=top->data;
C.x=top; top=top->link;
D.x=top->data;
8、判断题
(1)链式栈通常会选用链表的表尾一段作为栈顶。( )
(2)链式栈与顺序栈相比, 一个明显的优点是通常不会出现栈满的情况。( )
参考答案:
1.A 2.D 3.B 4.A 5.D
6.C 7.A 8.(1)错 (2)对