2021年 408数据结构试题与解析
1、 已知指针指向一个带头结点的非空单循环链表,结点结构data、next,其中next是指向直接后继结点的指针,p是尾指针,q是临时指针。现要删除该链表的第一个元素,正确的语句序列是()
A. h->next=h->next->next;q=h->next;free(q);
B. q=h->next;h->next=h->next->next;free(q);
C. q=h->next;h->next=q->next;if(p!=q)p=h;free(q);
D. q=h->next;h->next=q->next;if(p=q)p=h;free(q);
答案:D
解析:
A选项中,h->next=h->next->next修改了头结点的后继,q指针指向的不是待删除的第一个结点,A错;
B选项中,假设这个链表中只剩下最后一个结点(即尾指针p指向的结点),q=h->next q指针指向带删除的第一个结点(最后一个结点),则删除后,还需要修改p指针,B错;
C、D选项中,q=h->next;h->next=q->next,q指针指向待删除的第一个结点,头结点指向第二个结点,此时若尾指针p和q指针指向同一个位置的话,则我们需要修改尾指针p,将其指向头结点(空单循环链表),则选D
2、 已知初始为空的队列Q的一端能进行入队操作又能进行出队操作,另一端能进行入队操作,若a的入队序列是1,2,3,4,5,则不可能得到的出队序列是()
A.5,4,3,1,2
B.5,3,1,2,4
C.4,2,1,3,5
D.4,1,3,2,5
答案:D
解析:
A选项,1左入右入都可,2右入,3左入
这是一份2021年计算机专业408数据结构考研试题的答案解析,包括单循环链表删除元素、队列操作、二维数组存储地址计算、森林与二叉树转换及二叉树最小带权路径长度等问题的解答。
最低0.47元/天 解锁文章
391

被折叠的 条评论
为什么被折叠?



