📅  最后修改于: 2023-12-03 14:56:20.219000             🧑  作者: Mango
本文将介绍如何使用 C 语言编写一个用于在链表中插入节点的程序。我们将通过编写一个函数来实现这个功能。下面是完整的 C 代码片段。
#include <stdio.h>
#include <stdlib.h>
// 链表节点结构
typedef struct Node {
int data;
struct Node* next;
} Node;
// 在链表中插入节点
void insertNode(Node** head, int data) {
// 创建新节点
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->next = NULL;
// 如果链表为空,则将新节点设为头节点
if (*head == NULL) {
*head = newNode;
return;
}
// 找到链表的尾节点
Node* tail = *head;
while (tail->next != NULL) {
tail = tail->next;
}
// 将新节点插入到尾节点之后
tail->next = newNode;
}
int main() {
Node* head = NULL;
// 在链表中插入节点
insertNode(&head, 10);
insertNode(&head, 20);
insertNode(&head, 30);
// 打印链表中的节点
Node* current = head;
while (current != NULL) {
printf("%d ", current->data);
current = current->next;
}
return 0;
}
以上代码实现了一个简单的链表,可以往链表中插入节点。函数insertNode
用于在链表末尾插入新的节点。主函数main
中演示了如何使用insertNode
函数插入节点,并打印链表中的节点数据。
该代码段使用了头节点来表示链表,并通过一个指向指针的指针来传递链表的头指针。这样可以在insertNode
函数中通过修改指针的指向来改变链表头节点的值。
以上就是一个用于在链表中插入节点的 C 程序。你可以根据自己的需求修改代码来实现更复杂的链表操作。对于更复杂的链表操作,你可能需要编写其他的函数来实现删除节点、查找节点等功能。