题目内容
(请给出正确答案)
[单选题]
在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队非空,则进行插入时必须把新结点的地址赋给()。
A.elemHead
B.elemTail
C.elemHead->next和elemHead
D.elemTail->next和elemTail
查看答案
如果结果不匹配,请 联系老师 获取答案
A.elemHead
B.elemTail
C.elemHead->next和elemHead
D.elemTail->next和elemTail
从大到小的次序链接的,试分别写出从顶点0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历得到的顶点序列。
面试题:复杂链表的复制
题目:请实现函数ComplexListNode*Clone(ComplexListNode*pHead),复制一个复杂链表中,每个结点除了有一个m_pSibing指向链表中的任意结点或者NULL。结点的C++定义如下:
struct ComplexListNode
{
Int m_nValue;
ComplexListNode* m_pNext;
ComplexListNode* m_pSibling;
};
面试题:用两个栈实现队列
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTaik和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
template <typename T>class CQueue
{
public:
coueue (void);
~CQueue (void)j
void appendTail (constT&node);
T deleteHead();
private:
stack<T> stack1;
stack<T> stack2;
};
面试题:从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。
链表结点定义如下:
struct List Node
{
int m_n Key;
ListNode* m_pNext;
};
A.p->next=f
B.p->next=f和f=p
C.f=p->next
D.f->next=p和f=p