使用 C 语言删除链表的头节点和尾节点的逻辑。
链表使用动态内存分配,即它们会根据需要增长和缩小。它是由节点组成的集合。
节点有两个部分,分别是数据和链接。下面将解释这些部分。

链表上的操作
链表上有三种操作,如下所示:
- 插入
- 删除
- 遍历
删除
- 识别节点。
- 调整链接,以便节点的释放不会使列表成为不连贯的组件。
- 返回/显示要删除的元素。
- 释放内存。
删除头节点
请按照以下步骤在 C 编程语言中删除头节点。
1. void del_head()
2. {
3. int x;
Node *temp;
4. if(Head==NULL)
5. {
6. printf("List is empty");
7. return;
8. }
9. x=Head->ele;
10. temp=Head;
11. if(Head==Tail)
12. Head=Tail=NULL:
13. Else
14. Head=Head->next;
15. printf("Deleted element %d",x);
16. free(temp);
17. }这里,
步骤 4 - 检查列表是否为空。
步骤 9 - 读取要删除的元素。
步骤 10 - 头节点由 temp 指针引用。
步骤 11 - 检查是否为最后一次删除。
步骤 14 - 将头指针移动到列表中的下一个元素。
步骤 15 - 显示要删除的元素。
步骤 16 - 释放内存。
删除尾节点
请按照以下步骤在 C 编程语言中删除尾节点。
1. void del_tail()
2. {
3. int x;
4. Node *temp;
5. if(Head==NULL)
6. {
7. printf("List is empty");
8. return;
9. }
10. temp=Head;
11. while(temp->next !=Tail)
12. temp=temp->next;
13. x=Tail->ele;
14. Tail=temp;
15. Temp=temp->next
16. Tail->next=NULL;
17. printf("Deleted element %d",x);
18. free(temp);
19. }这里,
步骤 4 - 检查列表是否为空。
步骤 10、11、12 - 将 temp 指针移动到列表中倒数第二个节点。
步骤 13 - 读取要删除的尾节点元素。
步骤 14 - 将尾指针移动到倒数第二个节点。
步骤 15 - 将 temp 指针移动到列表的最后一个节点。
步骤 16 - 删除尾节点到 temp 节点的引用。
步骤 17 - 显示要删除的元素。
步骤 18 - 释放内存。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP