【摘要】:怎么考虑这个问题的解决方案呢?与此类似,从一个动态链表中删除一个节点,只需将该节点从链表中分离出来,撤销原来的链接关系即可。上述函数体中,形参head表示要删除节点的某个链表的头指针,num表示要删除节点的num成员值。函数体中还定义了一个指向结构体类型数据的指针变量p1,p2,将head的值赋给p1,使p1指向链表的第一个节点,然后通过循环语句查找符合删除条件的节点,如果找到符合删除条件的,使该节点从链表中分离出来。
8.5.5 链表的删除操作
对已经存在的一个链表,有时希望能删除其中的某个节点。怎么考虑这个问题的解决方案呢?先打个比方:有一队小孩(A,B,C,D,E)手拉手,如果一个小孩(C)想离队,并要求队形保持不变,只需将C的手从两边脱开,B改为和D拉手即可。与此类似,从一个动态链表中删除一个节点,只需将该节点从链表中分离出来,撤销原来的链接关系即可。
例8.18 编写链表的节点删除函数del。
上述函数体中,形参head表示要删除节点的某个链表的头指针,num表示要删除节点的num成员值。函数体中还定义了一个指向结构体类型数据的指针变量p1,p2,将head的值赋给p1,使p1指向链表的第一个节点,然后通过循环语句查找符合删除条件的节点,如果找到符合删除条件的,使该节点从链表中分离出来。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。