单向链表概述

news2024/11/25 12:32:56

文章目录

  • 🍊自我介绍
  • 🍊单向链表概述
    • 数据域和指针域
    • 数据类型设计


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

  Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”“内容共创官” ,现在我来为大家介绍一下有关物联网-嵌入式方面有关数据结构方面的内容。


🍊单向链表概述

  线性表的链式存储结构,我们叫做链表。 将线性表L=(a0,a1,……,an-1)中各元素分布在存储器的不同存储块,称为结点,通过地址或指针建立它们之间的联系,所得到的存储绪构为链表结构。
  下图就是链表的结点:
在这里插入图片描述

数据域和指针域

数据域:结点的data域存放数据元素a0,
指针域:next域是一个指针,指向a0的直接后继a1所在的结点。
头结点和尾结点

头结点:链表中第一个结点我们叫做头结点,数据域默认不使用,只是用指针域。
尾结点:链表中最后一个结点我们叫做尾结点,尾结点的指针域为NULL
在这里插入图片描述
  在后面我们学习插入,删除等操作的时候,我们可以发现拥有头结点的链表是很容易在头部插入新的信息的。

数据类型设计

typedef int datatype_t;//用户自定义数据类型

typedef struct node
{
	datatype_t data; //数据域保存的有效数据
	struct node *next;//保存下一个结点的地址
]linknode_t;

解释为什么要用struct node *来定义next.
  next它是一个指针,那为什么这个指针时这个类型呢?因为这个指针指向的变量仍然是有data,有next两个成员,那么这个有data,有next的两个成员的类型是什么类型呢?就是这个struct Lnode 这种类型,所以这两个地方一模一样,只不过这里加了个*,表示是指向这个结点的指针。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2123635.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高斯消元法

顾名思义就是我们初中所知的消元方程,用来解方程的,但是如果自己手动去实现的话,还是有一部分难度的,因此我们也会用到线代这门科目,因为这是实现计算自动化的关键步骤 现在这里放上高斯消元的板子(可以用…

正点原子阿尔法ARM开发板-IMX6ULL(四)——汇编LED驱动实验-下

文章目录 一、驱动编写1.1 配置GPIO的电气属性1.2 配置GPIO的功能(GDIR寄存器)1.3 设置输出(DR寄存器)1.4 最终代码 二、编译程序2.1 编译程序2.2 链接文件2.3 格式转换成BIN文件2.4 反汇编 三、烧写bin到SD卡中并运行3.1 准备工作…

中介者模式mediator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/mediator 减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行合作。

数据结构:树与二叉树(2)

1、线索二叉树 1.1线索二叉树的定义 (1)线索二叉树有啥用? 普通二叉树的节点包含左孩子和右孩子的信息,但并没有直接存储关于“直接前驱”和“直接后继”的信息,结点的前驱和后继只能在遍历过程中获得。 因此这里引…

Springboot中mybatis的使用

一.创建Springboot项目并加载依赖 1.利用IDEA创建SpringBoot项目,并勾选必须依赖,步骤如下(IDEA版本为2024版) 注意: 1.首先更换镜像源,否则加载配置环境比较慢,网上搜阿里的镜像源就行。 2…

关于在vue2中使用el-tree的记录

此文章会持续更新在使用el-tree过程中应用到的功能... 先看此效果&#xff1a; html&#xff1a; <el-tree :data"data" :props"defaultProps" node-click"handleNodeClick">//自定义节点内容<span slot-scope"{ data }"&g…

Leetcode面试经典150题-135.分发糖果

解法都在代码里&#xff0c;不懂就留言或者私信 阿里字节都考过 class Solution {/**对于每个孩子来说&#xff0c;我们试一下从左边开始它应该分几个糖果&#xff0c;然后看一下从右边开始它应该分几个糖果然后左右取最大值&#xff0c;每个位置求和就是我们要的答案 */publ…

【解决keil不能跳转函数声明的问题】

第一步&#xff1a;将魔术棒中的output选项里Browase Information功能打开 第二步&#xff1a;重新编译整个工程 第三步&#xff1a;跳转测试

Java项目: 基于SpringBoot+mybatis+maven实现的IT技术交流和分享平台(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven实现的IT技术交流和分享平台 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美…

【笔记】2.1 石英类原料

2.1.1 石英类原料的种类 石英&#xff1a;结晶矿物。 &#xff08;1&#xff09;石英砂&#xff08;硅砂&#xff09; 石英石、长石在水、二氧化碳、温度作用下风化分解由水流冲击沉积而形成。 主要成分为&#xff0c;质地纯净的硅砂为白色&#xff0c;其中若含有少量杂质&…

SpringCloud集成MybatisPlus,实现MySQL多数据源配置

引入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</version> </dependency><dependency><groupId>com.alibaba</groupId><art…

Apache DataFusion查询引擎简介

01 简介 DataFusion是一个查询引擎&#xff0c;其本身不具备存储数据的能力。正因为不依赖底层存储的格式&#xff0c;使其成为了一个灵活可扩展的查询引擎。它原生支持了查询CSV&#xff0c;Parquet&#xff0c;Avro&#xff0c;Json等存储格式&#xff0c;也支持了本地&#…

TCP通信实现

前言 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的、基于流的通信协议。它是互联网协议栈&#xff08;TCP/IP&#xff09;中的核心协议之一&#xff0c;主要用于保证在计算机网络中可靠地传输数据。 TCP通信的基…

面向物联网基础的智能农业环境的节能边缘-雾-云计算架构

这篇论文的标题是《Energy-Efficient Edge-Fog-Cloud Architecture for IoT-Based Smart Agriculture Environment》&#xff0c;作者是Hatem A. Alharbi和Mohammad Aldossary&#xff0c;发表在IEEE Access期刊上。论文的主要内容可以概括为以下几个部分&#xff1a; 摘要&am…

【JVM 工具命令】JAVA程序线上问题诊断,JVM工具命令的使用,jstat, jstack,jmap命令的使用

【JVM 工具命令】JAVA程序线上问题诊断&#xff0c;JVM工具命令的使用&#xff0c;jstat&#xff0c; jstack&#xff0c;jmap命令的使用 1. JVM监控工具&#xff1a; Jstat命令 通过这个命令查询java程序&#xff0c;gc的情况 jstat -gcutil {pid} 5000 12 5000 表示5000…

JavaWeb【day12】--(SpringBootWeb登录认证)

案例-登录认证 在前面的课程中&#xff0c;我们已经实现了部门管理、员工管理的基本功能&#xff0c;但是大家会发现&#xff0c;我们并没有登录&#xff0c;就直接访问到了Tlias智能学习辅助系统的后台。 这是不安全的&#xff0c;所以我们今天的主题就是登录认证。 最终我们…

Mysql高级篇(中)—— 索引优化

Mysql高级篇&#xff08;中&#xff09;—— 索引优化 一、索引分析案例案例 1&#xff1a;单表查询案例 2&#xff1a;两表连接查询案例 3&#xff1a;三表连接查询 二、避免索引失效常见索引失效场景简述场景 1场景 2场景 3场景 4场景 5场景 6 三、索引优化文字版示例版 一、…

每日OJ_牛客_数组中出现次数超过一半的数字

目录 牛客_数组中出现次数超过一半的数字 解析代码1 解析代码2 牛客_数组中出现次数超过一半的数字 数组中出现次数超过一半的数字__牛客网 给一个长度为 n 的数组&#xff0c;数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。例如输入一个长度为…

瑞芯微RK3566鸿蒙开发板OpenHarmony标准系统应用兼容性测试指导

本文OpenHarmony标准系统应用兼容性测试指导&#xff0c;适用鸿蒙系统软件开发测试的新手入门学习课程。设备为触觉智能的瑞芯微RK3566开发板&#xff0c;型号Purple Pi OH。是Laval官方社区主荐的一款鸿蒙开发主板。支持Openharmony、安卓Android、Linux的Debian、Ubuntu系统。…

实战项目01-icon图标修改

修改项目图标 引入图片资源&#xff0c;放入指定目录&#xff0c;覆盖掉之前图片即可 目录&#xff1a;entry > src > main > resources > base > media 图片&#xff1a;startIcon.png foreground.png background.png 修改项目标题 需要修改 EntryAbilit…