0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

不同数据结构的定义代码

嵌入式攻城狮 来源:嵌入式攻城狮 2023-11-29 14:13 次阅读

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

线性表

线性表:List,零个或多个数据元素的有限序列。

顺序表:一段地址连续的存储单元依次存储线性表的数据元素。

#defineMAXSIZE100  //表的最大长度
typedefintdata_t;
typedefstruct{
data_tdata[MAXSIZE]; //表的存储空间
intlast;  //表的当前长度
}*seqlist_t

单链表:结点存储了数据元素和后继元素的存储地址,链接成表。

typedefintdata_t;
typedefstructnode{
data_tdata;//存放数据
structnode*next;//存放后继结点地址
}*linklist_t

双链表:结点存储了数据元素,以及前驱和后继元素的存储地址,链接成表。

typedefintdata_t;
typedefstructnode{
data_tdata;//存放数据
structnode*prior;  //存放前驱结点地址
 structnode*next;//存放后继结点地址
}*dlinklist_t

栈:Stack,是限定仅在表尾进行插入和删除操作的线性表。

顺序栈:一段地址连续的存储单元,由数组定义,配合数组下标表示栈顶指针。

#defineMAXSIZE100//栈的最大长度
typedefintdata_t;
typedefstruct{
data_tdata[MAXSIZE];  //栈的存储空间
inttop;//栈的栈顶位置
}*seqstack_t

链式栈:只能在链表头部进行插入和删除操作的单链表,链表尾部就是栈底,链表头指针就是栈顶指针。

typedefintdata_t;
typedefstructnode{
data_tdata; //存放数据
structnode*next;//存放后继结点地址
}*linkstack_t

队列

队列:Queue,是只允许在一端进行插入操作,另一端进行删除操作的线性表。

顺序队列:一段地址连续的存储单元,由数组定义,配合数组下标表示队头和队尾。

#defineMAXSIZE100//队列的最大长度
typedefintdata_t;
typedefstruct{
data_tdata[MAXSIZE];//队列的存储空间
intfront,rear;//队头队尾的位置
}*seqqueue_t

链式队列:只能在链尾插入、链头删除元素的单链表。

typedefintdata_t;
typedefstructqnode{//队列的结点结构
data_tdata;//存放数据
structqnode*next; //存放后继结点地址
}*qnode_t;

typedefstruct{//队列的链表结构
qnode_tfront,rear;  //队头队尾指针
}*linkqueue_t

二叉树

二叉树:Binary Tree,是n(n≥0)个节点的有限集合,它或者是空集(n=0),或者是由一个根节点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。

typedefintdata_t;
typedefstructbnode{
data_tdata;  //存放数据
structbnode*lchild,*rchild; //左右孩子指针
}*btree_t;

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5066

    文章

    19001

    浏览量

    302685
  • 代码
    +关注

    关注

    30

    文章

    4738

    浏览量

    68307
  • 数据结构
    +关注

    关注

    3

    文章

    572

    浏览量

    40082

原文标题:不同数据结构的定义代码

文章出处:【微信号:嵌入式攻城狮,微信公众号:嵌入式攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是数据结构(Data Structrue)

    的一个一个元素数据对象:具有相同特性的数据元素的集合结构数据元素之间具有的关系(联系) 二.  数据结构
    发表于 02-09 17:17

    数据结构

    1.数据结构的概念 所谓数据结构是指由某一数据对象及该对象中所有数据成员之间的关系组成的集合。成员之间的关系有很多种,最常见的是前后件关系。 2.
    发表于 03-04 14:13

    C语言与数据结构

    目录个人介绍笔试单选题C语言数据结构计算机与操作系统网络通信填空题C语言与数据结构网络通信问答题嵌入式基础知识C语言与数据结构C编程一面二面功能快捷键合理的创建标题,有助于目录的生成如何改变文本
    发表于 08-06 07:10

    数据结构链表的基本操作

    嵌入式学习基础-数据结构链表的基本操作链表节点采用结构体的方式进行定义,下面是最基础的定义只有一个数据data,*pNext用于指向下一个节
    发表于 12-22 08:05

    数据结构是什么?数组为什么要有数组

    1、数据结构是什么数据结构就是研究数据如何组织(在内存中排布),如何加工的学问。2、最简单的数据结构:数组为什么要有数组?因为程序中有好多个类型相同、意义相关的变量需要管理,这时候如果
    发表于 01-07 08:08

    数据结构教程,下载

    1. 数据结构的基本概念 2. 算法与数据结构3. C语言的数据类型及其算法描述要点4. 学习算法与数据结构的意义与方法
    发表于 05-14 17:22 0次下载
    <b class='flag-5'>数据结构</b>教程,下载

    什么叫数据结构?

    什么叫数据结构 定义:由某一数据对象及该对象中所有数据成员之间的关系组成。记为:        &nb
    发表于 07-15 16:12 1224次阅读
    什么叫<b class='flag-5'>数据结构</b>?

    数据结构与算法

    全国C语言考试公共基础知识点——数据结构与算法,该资料包含了有关数据结构与算法的全部知识点。
    发表于 03-30 14:27 0次下载

    数据结构是什么_数据结构有什么用

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高
    发表于 11-17 14:45 1.6w次阅读
    <b class='flag-5'>数据结构</b>是什么_<b class='flag-5'>数据结构</b>有什么用

    为什么要学习数据结构数据结构的应用详细资料概述免费下载

    本文档的主要内容详细介绍的是为什么要学习数据结构数据结构的应用详细资料概述免费下载包括了:数据结构在串口通信当中的应用,数据结构在按键监测当中的应用
    发表于 09-11 17:15 13次下载
    为什么要学习<b class='flag-5'>数据结构</b>?<b class='flag-5'>数据结构</b>的应用详细资料概述免费下载

    什么是数据结构?为什么要学习数据结构数据结构的应用实例分析

    本文档的主要内容详细介绍的是什么是数据结构?为什么要学习数据结构数据结构的应用实例分析包括了:数据结构在串口通信当中的应用,数据结构在按键
    发表于 09-26 15:45 14次下载
    什么是<b class='flag-5'>数据结构</b>?为什么要学习<b class='flag-5'>数据结构</b>?<b class='flag-5'>数据结构</b>的应用实例分析

    Linux内核代码中常用的数据结构有哪些?

    Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。
    发表于 07-20 09:39 484次阅读

    NetApp的数据结构是如何演变的

    统一数据跨分布式资源进行管理,以实现数据移动的一致性和控制,安全、可见性、保护和访问。 本文定义数据结构及其体系结构,讨论了
    发表于 08-25 17:15 0次下载
    NetApp的<b class='flag-5'>数据结构</b>是如何演变的

    Linux内核中使用的数据结构

    Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。 链表 Linux内核代码大量使用了链表这种数据结构。链表是在解决数组不能动态扩展这个缺陷而产生的一种
    的头像 发表于 11-09 14:24 450次阅读
    Linux内核中使用的<b class='flag-5'>数据结构</b>

    epoll的基础数据结构

    一、epoll的基础数据结构 在开始研究源代码之前,我们先看一下 epoll 中使用的数据结构,分别是 eventpoll、epitem 和 eppoll_entry。 1、eventpoll 我们
    的头像 发表于 11-10 10:20 754次阅读
    epoll的基础<b class='flag-5'>数据结构</b>