数据布局之单链表详解:从原理到C语言实现

[复制链接]
发表于 2026-1-8 15:58:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、 什么是单链表?

单链表(Singly Linked List)是一种线性数据布局,它的特点是每个节点通过指针链接到下一个节点。差别于序次表(数组),链表的每个元素(节点)并不存储在一连的内存空间中,而是由一个节点指向下一个节点,以形成链式布局。

你可以把单链表想象成一列火车,每节车厢都装载着数据(元素),而每节车厢的尾部都连着下一节车厢,直至末了一节车厢指向空(NULL),表现链表的竣事。

<hr> 二、 单链表的根本布局

在C语言中,单链表由节点构成。每个节点包罗两部分:

      
  • 数据域:存储当前节点的数据信息。  
  • 指针域:存储指向下一个节点的所在。
单链表的节点可以通过布局体来界说,如下所示:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct Node {
  4.     int data;            // 数据域
  5.     struct Node* next;   // 指针域,指向下一个节点
  6. };
复制代码

      
  • int data:存储节点中的数据,可以是任何数据范例。  
  • struct Node* next:指向下一个节点的指针,若当前节点是链表中的末了一个节点,则next的值为NULL。
<hr> 三、 单链表的根本操纵

1. 创建节点

单链表的节点是通过动态内存分配创建的,在C语言中可以使用malloc来分配内存。以下是创建单链表节点的代码:
  1. struct Node* createNode(int data) {
  2.     struct Node* newNode = (struct Node*)malloc(sizeof(struct Node)); // 动态分配内存
  3.     newNode->data = data;     // 设置节点的数据
  4.     newNode->next = NULL;     // 初始状态下指向NULL
  5.     return newNode;
  6. }
复制代码
代码表明:

      

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表