C 语言中的链表是一种常见的数据结构,用于存储一系列的元素,其中每个元素都包含一个
指向下一个元素的指针。下面是一些 C 语言中链表的基本操作:
1. 定义链表节点结构体
首先,我们需要定义一个结构体来表示链表中的节点。每个节点通常包含一个数据字段和一
个指向下一个节点的指针。
typedef struct Node {
int data; // 假设链表存储的是整数
struct Node* next;
} Node;
2. 创建新节点
我们可以创建一个函数来创建新的链表节点。
Node* createNode(int data) {
Node* newNode = (Node*)malloc(sizeof(Node));
if (newNode == NULL) {
printf("Memory allocation failed.");
exit(0);
}
newNode->data = data;
newNode->next = NULL;
return newNode;
}
3. 插入节点
插入节点通常有两种方式:在链表头部插入和在链表尾部插入。
在链表头部插入
void insertAtHead(Node** head, int data) {
Node* newNode = createNode(data);
newNode->next = *head;
*head = newNode;
}
在链表尾部插入
void insertAtTail(Node** head, int data) {
Node* newNode = createNode(data);
if (*head == NULL) {
*head = newNode;
return;
}
Node* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}