有一个无头结点的单链表,结点有数据域data,指针域next,表头指针为h,通过遍历链表,将链表中所有的
有一个单链表(不同结点的数据域值可能相同),其头指针为head,编写一个函数计算数据域为x的结点个数。
A.一个结点的数据域用于存放线性表的一个数据元素
B.一个结点的指针域用于指向下一个数据元素的结点
C.单链表必须带有头结点
D.单链表中的所有结点可以连续存放,也可以不连续存放
A.若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1)
B.在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理
C.加入头结点后,代表链表的头指针不因为链表为空而改变
D.加入头结点后,在链表中进行查找运算的时问复杂度为O(1)
A.若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1)
B. 在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理
C. 加入头结点后,代表链表的头指针不因为链表为空而改变
D. 加入头结点后,在链表中进行查找运算的时间复杂度为O(1)
算法实现的思路为:在有序单链表中插入一个数据元素x,首先要找到该元素应该插入到什么位置,才能保证插入后的单链表仍为有序表。因此,算法的第一步是寻找x的位置:设置指针p、q,最初p指向头结点,q指向头结点的下一个结点,比较q所指数据域的值与x的大小,如果小于x,则p、q分别向后移动一个位置,使p始终作为q的前驱结点,然后重复上面的比较过程;如果比较结果大于x或是比较到最后单链表结束了,则找到了插入位置,在p与q之间插入结点x即可。算法的具体实现如下:
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!