●对于单链表,如果仅仅知道一个指向链表中某结点的指针p, (54) 将p所指结点的数据元素与其确实存在的直接前驱交换,对于单循环链表来说 (55) ,而对双向链表来说 (56) 。(54) ~(56)
A.可以
B.不可以
C.不确定
D.仅能一次
A.可以
B.不可以
C.不确定
D.仅能一次
对于单链表,如果仅仅知道一个指向链表中某结点的指针p,(54)将p所指结点的数据元素与其确实存在的直接前驱交换,对于单循环链表来说(55),而对双向链表来说(56)。
A.可以
B.不可以
C.不确定
D.仅能一次
A.p->next=head;myrear->next=p;head=p;
B.head->next=p;myrear->next=p;head=p;
C.myrear->next=p;head=p;head->next=p;
D.myrear->next=p;head=p;p->next=head;
A.一个结点的数据域用于存放线性表的一个数据元素
B.一个结点的指针域用于指向下一个数据元素的结点
C.单链表必须带有头结点
D.单链表中的所有结点可以连续存放,也可以不连续存放
A指向链表的第一个结点的指针,称为头指针
B单链表的每一个结点都被一个指针所指
C任何结点只能通过指向它的指针才能引用
D尾指针变量具标识单链表的作用,故常用尾指针变量来命名单链表
算法实现的思路为:在有序单链表中插入一个数据元素x,首先要找到该元素应该插入到什么位置,才能保证插入后的单链表仍为有序表。因此,算法的第一步是寻找x的位置:设置指针p、q,最初p指向头结点,q指向头结点的下一个结点,比较q所指数据域的值与x的大小,如果小于x,则p、q分别向后移动一个位置,使p始终作为q的前驱结点,然后重复上面的比较过程;如果比较结果大于x或是比较到最后单链表结束了,则找到了插入位置,在p与q之间插入结点x即可。算法的具体实现如下:
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!