![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 51
爱学代码的学生
多学一点
展开
-
数据结构 - 堆
嗷嗷学习成为黄金韭菜!!原创 2022-04-14 22:54:15 · 449 阅读 · 4 评论 -
实现栈和队列
1.1 栈什么是栈?栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。栈有着先进后出的这种特征,所以接下来我们可以实现下栈的基本功能:// 我们主要实现下面的支持动态增长的栈typedef int STDataType;ty原创 2022-04-09 21:44:04 · 367 阅读 · 0 评论 -
C语言实现二叉树层次遍历
什么是层次遍历?对于一颗二叉树来说,从根节点开始,按从上到下、从左到右的顺序访问每一个结点。注:每一个结点有且访问一次。那我们如何来实现这个算法呢?实现原理:对于二叉树来说,它是一个递归的定义,我们要实现层次遍历必然要满足从上到下、从左到右这个要求,从根结点出发,我们可以将所有意义上的根结点都存储在队列之中,那我们可以使用队列先进先出的特点来实现要求的遍历。这里我们需要引用队列来实现。主体代码:BiTree InitTree()//二叉树的创建{ BiTree T =原创 2022-01-18 21:50:04 · 2788 阅读 · 0 评论 -
C语言实现中缀向后缀转换表达式
解题思路在将中缀表达式转换为后缀的时候,遵循的原则是:从左到右依次扫描中缀表达式,如果读到的是操作数,直接存入 exp 栈如果读到的是运算符,则进行判断该运算符是 ’ ( ',则直接存入 opt 栈该运算符是 ’ ) ',则将 opt 栈中对应 ‘(’ 前的所有运算符出栈,存入 exp 栈(这一对括号就可以直接舍弃了)如果该运算符不是括号,则将该运算符和 opt 栈顶运算符做比较优先级大于或等于 opt 栈顶运算符,则直接存入 opt 栈优先级小于 opt 栈顶运算符,则让 opt 栈顶原创 2022-01-17 17:31:52 · 1118 阅读 · 1 评论