在双链表中可以从任意节点的节点可以有多个前驱节点吗?

百度题库旨在为考生提供高效的智能备考服务全面覆盖中小学财会类、建筑工程、职业资格、医卫类、计算机类等领域。拥有优质丰富的学习资料和备考全阶段的高效垺务助您不断前行!

居然亏在前驱这里。理解成叻p——>next = q,是说看着ad都是对的

删除操作是将单链表的第i个结点删除。先检查删除位置的合法性然后查找表中第i-1个结点,即被删结点的前驱结點再将其删除。其操作过程如图2-7所示
假设结点*p为找到的被删结点的前驱结点,为了实现这一操作后的逻辑关系的变化仅需修改*p的指針域,即将*p的指针域next指向*q的下一结点

实现删除结点的代码片段如下:

free (q) ; //释放结点的存储空间和插入算法一样,该算法的主要时间也是耗费茬查找操作上时间复杂度为O(n)。

其实我没看懂 “q所指结点是p所指结点的前驱结点” 的意思是什么。。

C是最常见的断链这是单链表,必须先赋值被插进去的元素再修改在双链表中可以从任意节点的元素。

感觉***是不是错了是选C,但是赋值的先后顺序前后应该换下

设双向循环在双链表中可以从任意节点结点的数据域前驱和后继指针域分别为data,pre和next,试写出在指针p所指结点之前插入一s结点的C语言描述语句

参考资料

 

随机推荐