c语言单链表的创建,插入,删除以及输出
时间: 2024-09-24 09:04:22 浏览: 58
在C语言中,单链表是一种线性数据结构,每个节点包含数据和指向下一个节点的指针。以下是创建、插入、删除和输出单链表的基本操作:
1. **创建单链表**:
- 定义一个结构体`Node`,包括数据域`data`和指针域`next`。
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
```
2. **创建头结点(如果需要)**:
如果你想管理一个空列表,可以创建一个头结点,它没有实际的数据,只有一个指向第一个元素的指针。
```c
Node* head = NULL;
```
3. **插入节点**:
- 插入到头部: `head = (Node*)malloc(sizeof(Node));`
```c
head->data = value;
head->next = previous_head;
previous_head = head;
```
- 插入到指定位置(假设有一个已存在的链表和当前节点):
```c
new_node->next = current_node->next;
current_node->next = new_node;
```
4. **删除节点**:
- 删除头部节点:
```c
if(head != NULL){
Node* temp = head;
head = head- 删除特定节点(根据值或位置): 需要遍历链表查找并调整相邻节点的指针。
5. **输出链表**:
- 使用循环遍历并打印节点值:
```c
Node* currentNode = head;
while(currentNode != NULL){
printf("%d -> ", currentNode->data);
currentNode = currentNode->next;
}
printf("NULL\n");
```
阅读全文