用C语言写代码实现链表加入删除功能
时间: 2023-05-15 10:06:18 浏览: 126
可以使用结构体和指针来实现链表的加入和删除功能。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* next;
};
struct Node* head = NULL;
void insert(int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->next = head;
head = newNode;
}
void delete(int data) {
struct Node* temp = head;
struct Node* prev = NULL;
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);
}
void printList() {
struct Node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
}
int main() {
insert(1);
insert(2);
insert(3);
insert(4);
printf("Initial list: ");
printList();
delete(3);
printf("\nList after deleting 3: ");
printList();
return 0;
}
```
这个程序实现了链表的加入和删除功能。在 `main` 函数中,我们先插入了四个节点,然后打印出链表的初始状态。接着,我们删除了值为 3 的节点,并打印出删除后的链表状态。
阅读全文