已知p是指向单向循环链表最后一个结点的指针,试编写只包含一个循环的算法,将线性表(a1,a2,…,an-1
已知p是指向单向循环链表最后一个结点的指针,试编写只包含一个循环的算法,将线性表(a1,a2,…,an-1,an)改造为(a1,a2,…,an-1,an,an-1,…,a2,a1)。【北京理工大学2005十四、1(5分)】
已知p是指向单向循环链表最后一个结点的指针,试编写只包含一个循环的算法,将线性表(a1,a2,…,an-1,an)改造为(a1,a2,…,an-1,an,an-1,…,a2,a1)。【北京理工大学2005十四、1(5分)】
A.q—>next=s—>next;s—>next=p;
B.s—>next=P;q—>next=s—>next;
C.p—>next=s—>next;s—>next=q;
D.s—>next=q;p—>next=s—>next;
在一个单链表HL中,若要向表头插入一个由指针P指向的结点,则执行(13)。
A.HL=p;p→next=HL;
B.p→next=HL;HL=p;
C.p→next=HL;p=HL;
D.P→next=HL→next;HL→next=p;
A.free(q);p->Next=q->next;
B.(* p).next=(* q).nexy;free(q);
C.q=(* q).next;(* p).next=q;free(q);
D.q=q->next;p->next=q;p=p->next;free(p);
A.p^. next:=head^. next;head^. next:=p
B.p^. next:=head^. next;head:=p
C.p^. next:=head;head:=p
D.head^. next:=head;p:=head
在循环双链表的p所指结点之后插入s所指结点的操作是()
A.P—>next=s;
B.p—>next=s; s—>prior=p; p—>next—>prior=s; p—>next—>prior=s; s—>prior=p; s—>next=p—>next; s—>next=p—>next
C.s—>prior=p;
D.s—>prior=p; s—>next=p—>next; s—>next=p—>next; p—>next=s; p—>next—>prior=s; p—>next—>prior=s; p—>next=s;
A.单链表
B.带有头指针的单循环链表
C.双链表
D.带有尾指针的单循环链表
在一个单链表中,若要删除P结点的后续结点,则执行()。
A.P↑.next:=P↑.next↑.next;
B.P:=P↑.next;P↑.next:=P↑.next↑.next;
C.free(P↑.next);
D.P:=P↑.next↑.next;
二叉搜索树与双向链表
题目:输入一棵二叉搜索树,将该二叉树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中的结点指针的指向。比如输入图4.12中左边的二叉搜索树,则输出转换之后的排序双向链表。
二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_ nValue;
BinaryTreeNode* m_pLeft;
BinaryTreeNode* m_pRight;
};
链表题:一个链表的结点结构
struct Node
{
int data ;
Node *next ;
};
typedef struct Node Node ;
(1)已知链表的头结点head,写一个函数把这个链表
逆序(Intel)
在一个单链表中,若删除P所指结点的后续结点,则执行()。
A.p->next=p->next->next
B.p=p->next:p->next=p->next->next
C.p->next=p->next
D.p=p->next->next