计算机专业(基础综合)模拟试卷106(题后含答案及解析)题型有:1
单项选择题2
综合应用题单项选择题1-40小题,每小题2分,共80分
下列每题给出的四个选项中,只有一个选项是最符合题目要求的
1.输入受限的双端队列是指元素只能从队列的一端输入,但可以从队列的两端输出,如图3-1所示
若有8、1、4、2依次进入输入受限的双端队列,则得不到输出序列()
A.2、8、1、4B.1、4、8、2C.4、2、1、8D.2、1、4、8正确答案:D解析:A选项:首先,8、1、4、2都从左端入队,然后2从左端出队,8从右端出队,1从右端出队,4从左端出队,得到A的序列
B选项:首先,8和1分别从左端输入,然后1从左端出队,4再从左端入队,4再从左端出队,2从左端入对,8从右端出队,2从左端出队,得到B的序列
C选项:首先,8、1、4都从左端入队,4从左端出队,2再从左端入队,2从左端出队,1从左端出队,8从左端或者右端出队,得到C的序列
D选项:首先,8、1、4、2都从左端入队,然后2从左端出队,队列的序列变成如图3-7所示,接着如果要让1出队列,必须4或8先出队列,所以D的序列不可能实现
2.若要在O(1)的时间复杂度上实现两个循环链表头尾相接,则对应两个循环链表各设置一个指针,分别指向()
A.各自的头结点B.各自的尾结点C.各自的第一个元素结点D.一个表的头结点,另一个表的尾结点正确答案:B解析:两个循环链表头尾相接,需要改变头结点和尾结点之间的指针,而这个指针是从尾结点指向头结点的,所以只有将两个指针分别指向自己循环链表的尾结点才能完成操作
实现的代码如下:voidconnect(LNode*A,LNode*&B)//假设A、B为非空带头结点的循环链表的尾指针{LNode*p=A->next;//保存A表的头结点A->neXt=B->next->next;//B的开始结点链接到A