用c语言从单链表尾部依次插入节点
时间: 2024-09-22 21:09:44 浏览: 41
在C语言中,从单链表尾部插入节点通常需要遍历整个链表找到最后一个元素,然后在它之后插入新节点。以下是步骤:
1. 定义结构体表示链表节点,包含数据域和指向下一个节点的指针(next)。
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
```
2. 创建一个函数`insertAtTail`来完成插入操作:
```c
void insertAtTail(Node** head, int value) {
if (*head == NULL) { // 如果链表为空,直接创建新节点并设置头结点
*head = (Node*)malloc(sizeof(Node));
(*head)->data = value;
(*head)->next = NULL;
} else { // 链表非空,从头开始遍历到尾部
Node* current = *head;
while (current->next != NULL) {
current = current->next;
}
// 在当前节点之后插入新节点
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = value;
newNode->next = NULL;
current->next = newNode;
}
}
```
这个函数接受链表头部的地址作为参数,并通过`*head`来修改实际的链表。
阅读全文