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;

审核编辑:汤梓红

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

    关注

    4982

    文章

    18281

    浏览量

    288463
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66771
  • 数据结构
    +关注

    关注

    3

    文章

    564

    浏览量

    39900

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

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

收藏 人收藏

    评论

    相关推荐

    什么是数据结构(Data Structrue)

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

    数据结构概述及线性表

    Programming)问世以后,把数据的逻辑结构、存储结构及对每种结构定义的运算组成了“数据结构
    发表于 12-05 21:20

    数据结构

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

    如何在BLE自定义特征字段中使用数据结构

    是否有人知道如何在BLE自定义特性字段中定义数据结构?在选择数据类型的下拉菜单中,列出了“Stutt”。我不清楚如何定义
    发表于 09-11 13:44

    常见的数据结构

    `数据结构在实际应用中非常常见,现在各种算法基本都牵涉到数据结构,因此,掌握数据结构算是软件工程师的必备技能。一、什么是数据结构数据结构,直
    发表于 05-10 07:58

    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>教程,下载

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

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高
    发表于 11-17 14:45 1.6w次阅读
    <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 332次阅读

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

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

    变长数据数据结构定义

    用方便的呢? GNU C 的0长度数组(变长数组/柔性数组)就是这样一个扩展. 对于 0长数组 的这个特点,很容易构造出变成结构体,如缓冲区,数据包等等: 数据结构定义 // 0长度数
    的头像 发表于 09-27 15:08 453次阅读

    epoll的基础数据结构

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