- 2
- 0
- 约2.28万字
- 约 91页
- 2023-10-12 发布于上海
- 举报
* * 要将一表元从链表中删除,首先要在链表中查找该表元。若未找到,则不用做删除工作;在删除时还要考虑两种不同的情况: 1.删除链表头节点、要修改链表头指针. 2.删除的表元不是链表的首表元 ,要更改删除表元的前驱表元的后继指针。 (6)从链表中删除表元 图7-8 删除链表首表元,删除前后状态变化图 head 1 NULL 4 p 3 单链表的首表元删除后,首表元的后继表元成为新的首表元。假设从单链表删除下来的表元由指针变量p指向它。 ●删除单链表的首表元 p = head;/* 将首表元的指针保存到某指针变量*/ if(p) {//如果有首表元,即单链表不为空表 head = head-next;//头指针指向首表元的后继表元 p-next = NULL;/* 删除表元与原单链表脱离联系*/ } ●删除单链表中的某表元 首先必须查找表元,若找到,则删除,删除时必须考虑: 若删除的是首表元,必须更改头指针;否则,必须更改 前驱w表元的后继指针,因此需要2个工作指针。 图7-9删除链表中w所指表元的后继表元,删除前后状态变化图 w 4 6 p 5 NULL (1)p = w-next (2)w-next = p-next (3)p-next = NULL 表
原创力文档

文档评论(0)