C语言实现单链表

embedded/2025/3/5 0:08:17/

        单链表数据结构中最基础的链式结构,它不按照线性的顺序存储数据,而是由若干个同一结构类型的“节点”依次串联而成的,即每一个节点里保存着下一个节点的地址(指针)。

        上图中,一个表头变量head是用来存储链表首节点的地址,链表中每个节点有data(数据)部分和next(下一个节点的地址)部分组成。链表中的最后一个节点称为表尾,其下一个节点的地址部分的值为NULL。链表的各个节点在内存中可能是不连续存放的,具体存放位置由系统分配。

1、单链表结构定义

// 定义链表节点结构体
typedef struct ListNode {int data;				/* 数据域(存储节点数据) */struct ListNode* next;	/* 指针域(指向下一个节点的指针) */
} ListNode;

         定义链表节点结构体struct ListNode,并赋予别名ListNode,故后续代码出现的ListNode可代表struct ListNode。结构体中定义了data存储节点的数据,用struct ListNode*定义了next来存储指向下一节点的指针。

2、主要操作的代码实现

2.1、创建链表

         在应用链表时,往往需要先建立一个链表。建立链表的过程实际上就是不断在链表中插入节点的过程。

// 创建新节点
ListNode* createNode(int val)
{ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));if (!newNode) {printf("内存分配失败!\n");exit(1);}newNode->data = val;newNode->next = NULL;return newNode;
}

         有两种常见的插入节点方式:

(1)在链表的头部不断地插入新节点。

(2)在链表的尾部不断地插入新节点。

 2.2、插入节点

2.2.1、头部插入

// 头部插入
void insertAtHead(ListNode** hea

http://www.ppmy.cn/embedded/169694.html

相关文章

序列化是什么?常见的序列化方式有哪些?什么时候我们会用到序列化?

序列化(Serialization)是指将对象的状态信息转换为可以存储或传输的形式(如字节序列、XML 文档、JSON 字符串等)的过程。反序列化则是序列化的逆过程,它将存储或接收到的字节序列、XML 文档、JSON 字符串等转换回对象的…

GPT-4.5来了

https://chat.xutongbao.top/

[数据结构]树的概念及结构

一、树的概念 树是一种 非线性 的数据结构,它是由 n ( n>0 )个有限结点组成一个具有层次关系的集合。 把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的 。 *有一个 特殊的结点,…

【Springboot知识】Logback从1.2.x升级到1.3.x需要注意哪些点?

文章目录 **1. 确认依赖版本**示例依赖配置(Maven): **2. 处理 StaticLoggerBinder 的移除**解决方案: **3. 修改日志配置文件**示例 logback.xml 配置: **4. 检查兼容性问题**Spring Boot 2.x 的兼容性解决方案&#…

删除hive用户后该用户创建的表权限问题及修复

问题 当hive集群开启多用户的模式下,假设用户组A的用户hive_test创建了一个表, 此时另一个用户也是可以访问这个表的,但是因为一些原因,目前需要删除用户组A和用户hive_test, 在这个情况下,该用户创建的表&#xff0c…

【小羊肖恩】小羊杯 Round 2 C+K

题目链接:https://ac.nowcoder.com/acm/contest/100672#question C.是毛毛虫吗? 思路: 其实很简单,假设我们要满足题目所给条件,那么这个毛毛虫最坏情况下肯定是一条如下图所示的无向图 右端省略号为对称图形 &…

视频批量分段工具

参考原文:视频批量分段工具 选择视频文件 当您启动这款视频批量分段工具程序后,有两种便捷的方式来选择要处理的视频文件。其一,您可以点击程序界面中的 “文件” 菜单,在下拉选项里找到 “选择视频文件” 按钮并点击&#xff1b…

wordpress子分类调用父分类名称和链接的3种方法

专为导航而生&#xff0c;在wordpress模板制作过程中常常会在做breadcrumbs导航时会用到&#xff0c;子分类调用父分类的名称和链接&#xff0c;下面这段简洁的代码&#xff0c;可以完美解决这个问题。 <?php echo get_category_parents( $cat, true, &raquo; ); ?…