C语言用函数实现第一个节点是有效节点的链表插入,删除操作
时间: 2023-08-10 10:15:14 浏览: 91
C语言实现单向链表的创建、插入,删除节点,和2个链表合并
5星 · 资源好评率100%
链表插入操作可以通过以下函数实现:
```c
struct Node {
int data;
struct Node* next;
};
void insertNode(struct Node** head, int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->next = *head;
*head = newNode;
}
```
这个函数将新节点插入到链表的头部。
链表删除操作可以通过以下函数实现:
```c
void deleteNode(struct Node** head, int data) {
struct Node* temp = *head, *prev;
if (temp != NULL && temp->data == data) {
*head = temp->next;
free(temp);
return;
}
while (temp != NULL && temp->data != data) {
prev = temp;
temp = temp->next;
}
if (temp == NULL) {
return;
}
prev->next = temp->next;
free(temp);
}
```
这个函数将链表中第一个值为 `data` 的节点删除。如果链表为空或者没有找到对应的节点,则不进行任何操作。
阅读全文