上一篇
在学习 C语言单链表实现 的过程中,很多初学者会感到困惑。其实,只要理解了基本概念和操作逻辑,单链表并不难掌握。本文将手把手教你如何用 C 语言实现一个完整的单链表,并涵盖创建、插入、删除、遍历等核心操作。无论你是编程小白还是刚接触 C语言数据结构,都能轻松看懂!

单链表是一种线性数据结构,由一系列节点(Node)组成。每个节点包含两部分:
与数组不同,链表在内存中不是连续存储的,而是通过指针“链接”起来。这种结构使得插入和删除操作非常高效,是 链表编程教程 中的核心内容。
首先,我们需要用 struct 定义一个节点:
#include <stdio.h>#include <stdlib.h>// 定义单链表节点结构typedef struct Node { int data; // 数据域 struct Node* next; // 指针域,指向下一个节点} Node;每次插入数据时,都需要动态分配内存来创建新节点:
// 创建新节点Node* createNode(int value) { Node* newNode = (Node*)malloc(sizeof(Node)); if (!newNode) { printf("内存分配失败!\n"); return NULL; } newNode->data = value; newNode->next = NULL; return newNode;}我们以尾插法为例,逐步构建链表:
// 尾部插入void insertAtTail(Node** head, int value) { Node* newNode = createNode(value); if (*head == NULL) { *head = newNode; // 如果链表为空,新节点即为头节点 return; } Node* temp = *head; while (temp->next != NULL) { temp = temp->next; // 找到尾节点 } temp->next = newNode; // 将新节点链接到尾部}// 打印链表void printList(Node* head) { if (head == NULL) { printf("链表为空\n"); return; } Node* temp = head; while (temp != NULL) { printf("%d -> ", temp->data); temp = temp->next; } printf("NULL\n");}// 删除第一个值为 value 的节点void deleteNode(Node** head, int value) { if (*head == NULL) return; // 如果要删除的是头节点 if ((*head)->data == value) { Node* temp = *head; *head = (*head)->next; free(temp); return; } Node* current = *head; while (current->next != NULL && current->next->data != value) { current = current->next; } if (current->next != NULL) { Node* temp = current->next; current->next = current->next->next; free(temp); } else { printf("未找到值为 %d 的节点\n", value); }}下面是一个完整的测试程序,演示了 单链表操作 的全过程:
int main() { Node* head = NULL; insertAtTail(&head, 10); insertAtTail(&head, 20); insertAtTail(&head, 30); printf("当前链表: "); printList(head); // 输出: 10 -> 20 -> 30 -> NULL deleteNode(&head, 20); printf("删除20后: "); printList(head); // 输出: 10 -> 30 -> NULL return 0;}通过本教程,你已经掌握了 C语言单链表实现 的基本方法,包括节点创建、插入、删除和遍历。这些是 C语言数据结构 学习中的基石。建议你动手敲一遍代码,加深理解。后续还可以尝试实现头插法、按位置插入、反转链表等进阶操作。
希望这篇 链表编程教程 能帮助你顺利入门!如果你觉得有用,欢迎分享给其他正在学习 单链表操作 的朋友。
本文由主机测评网于2025-12-21发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251210886.html