数据结构之堆,栈的实现

首先我们分析由于只需要尾进尾出,用数组模拟更简单。

实现的功能如上图。

top可以表示栈中元素个数。

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

大小和检测是否为空的实现

销毁栈的实现(防止内存泄露)

下面是队列的实现

由于需要头出尾入,所有用链表实现更好。

为了避免每一次调用的时候还要输入头,尾指针,直接进行打包成结构体。

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

然后我们就要实现队列的头显和尾显已经判断是否为空的实现。

最后就是判断队列大小的实现。

相关推荐
奋发向前wcx5 小时前
P2590 树的统计 题目解析
数据结构·算法·深度优先
额鹅恶饿呃7 小时前
C语言中的数据结构和变量
c语言·数据结构·算法
万法若空8 小时前
【数据结构-哈希表】哈希表原理
数据结构·算法·散列表
tachibana29 小时前
hot100 翻转二叉树(226)
java·数据结构·算法·leetcode
兰令水9 小时前
leecodecode【面试150】【2026.7.9打卡-java版本】
java·数据结构·leetcode·面试·职场和发展
A.零点11 小时前
期末复习,408考研数据结构:第一章绪论完整知识梳理与真题深度解读
c语言·数据结构·笔记·考研
阿文的代码库12 小时前
经典算法题剖析:按奇偶排序数组
数据结构·算法
玛卡巴卡ldf15 小时前
【LeetCode 手撕算法】(细节知识点总结)
java·数据结构·算法·leetcode·力扣
Yang_jie_0316 小时前
笔记:数据结构(链队列的相关判断条件)
数据结构·笔记
zmzb010318 小时前
C++课后习题训练记录Day154
数据结构·c++·算法