
C语言常用的数据结构日常记录
文章平均质量分 61
在日常的嵌入式开发过程中,随时纪律有使用到的数据结构以及遇到的问题,持续更新ing......
坚持学习的小王同学
日常记录一些开发过程中使用的东西,持续更新中ing......
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
<C语言数据结构五>一篇文章“学废“二叉树(binary tree)
二叉树:是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。常用名词解释:特殊的二叉树满二叉树:如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树完全二叉树:如果二叉树中除去最后一层节点为满二叉树,且最后一层的结点依次从左到右分布,则此二叉树被称为完全二叉树二叉搜索树:2.2. 二叉树的创建2.3. 二叉树添加节点 添加的时候按照二叉搜索树的形式插入节点,完成排序!!!2.4. 二叉树的遍历2.5. 二叉树的深度的获取 使用递归的方式遍历所有节点,原创 2022-07-11 13:46:42 · 1379 阅读 · 1 评论 -
<C语言数据结构四>用C语言实现一个栈(stack)
栈也是数据结构的一种,与队列不同的是栈是一种后进先出(LIFO-last input frist output)的数据结构(队列详解),其具体的结构特点如下图所示:整体代码:运行结果:原创 2022-06-22 09:33:36 · 1621 阅读 · 0 评论 -
<C语言数据结构三>C语言带你玩转“单向链表”
链表是C语言中比较常用的一种数据结构,相对与上几篇文章的队列结构来说,链表是在一种物理存储单元上非连续、非顺序的存储结构。链表中的每个节点都是通过链表中的指针链接次序实现的;一般来说每个节点都会包含以下两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表又会分成很多个类型:单线链表,单向循环链表,双向链表,双向循环链表等;这篇文章我们主要聊聊单向链表,单向链表又分为以下两种类型:链表的数据定义链表的创建链表的插入:头插和尾插链表的删除:根据数据内容或者节点序号链表的销毁原创 2022-06-15 13:31:06 · 1269 阅读 · 1 评论 -
<C语言数据结构二>聊聊如何解决循环队列队最后一个空间不可使用
前景参照:队列的基本说明以及代码实现在常用的循环队列的使用中,我们使用队空判断(rear==front)以及队满判断(rear == (front + 1)% MAX)会发现循环队列的最后一个空间是没有办法被使用的,原因如下图所示:如上图所见,当去判断队满时候,最后一个空间是没有办法被判断到的,故我们得新增一个flag标志位去判断!!!在队列初始化的时候我们同时初始化一个flag标志位为false。在每次入队的时候我们将标志位置为true,每次出队的时候我们将标志位置为false。原因:实际真正的队空队原创 2022-06-13 09:48:25 · 1598 阅读 · 0 评论 -
<C语言数据结构一>队列(queue)的使用
队列是一种操作受限的线性表,它只允许在表的一端插入,在另一端删除(读取)。它和”栈“的使用是一样的,是一种FIFO(frist input frist output–先进先出)的结构。2. 初始化队列数据3. 队列队满判断4. 队列队空判断5. 入队操作6. 出队操作7. 例子注意:由于链表里面只是存储了数据地址,所以外面传入的数据需要是全局变量或者malloc出来的地址(malloc出来的地址需要在push完之后将该地址free掉)在使用该方式去判断队满以及队空的时候会出现队列深原创 2022-06-09 11:32:42 · 4902 阅读 · 0 评论