单链表的基本操作c语言
时间: 2024-10-20 11:12:06 浏览: 27
单链表是一种线性数据结构,它由一系列节点组成,每个节点包含两个部分:数据域用于存储数据,指针域(也称为引用或链接)指向下一个节点。在C语言中,对单链表的基本操作包括:
1. **创建链表**:定义链表头节点,初始化为NULL。创建新节点并设置其数据和指针。
```c
typedef struct Node {
int data;
struct Node* next; // 指向下一个节点的指针
} Node;
Node* createList() { return NULL; }
```
2. **添加元素**:在链表末尾插入新节点。
```c
void append(Node** head, int value) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = value;
newNode->next = *head; // 如果链表为空,newNode->next为NULL
*head = newNode;
}
```
3. **删除元素**:删除特定值的第一个匹配项。这里通常需要遍历链表寻找目标节点。
```c
void deleteNode(Node** head, int value) {
if (*head == NULL || (*head)->data != value) return;
Node* temp = *head;
*head = (*head)->next;
free(temp); // 释放原头节点
}
```
4. **查找元素**:遍历链表搜索指定值。
```c
Node* search(Node* head, int value) {
while (head != NULL) {
if (head->data == value)
return head;
head = head->next;
}
return NULL;
}
```
5. **打印链表**:访问并显示链表中的所有元素。
```c
void printList(Node* head) {
while (head != NULL) {
printf("%d ", head->data);
head = head->next;
}
printf("\n");
}
```
阅读全文