数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
handler0137 分钟前
【算法模板】最小生成树:稠密图选 Prim,稀疏图选 Kruskal
c语言·数据结构·c++·算法
此生决int1 小时前
快速复习之数据结构篇——栈和队列
数据结构·c++
昵称小白1 小时前
子串专题部分
数据结构·算法·哈希算法
ShoreKiten2 小时前
cpp考前急救
数据结构·c++·算法
诙_3 小时前
C++数据结构--AVL树
数据结构
Cando学算法4 小时前
欧拉回路(一笔画)
数据结构·c++·图论
图码5 小时前
一文搞懂如何判断字符串是否为Pangram(全字母句)
数据结构·算法·网络安全·数字雕刻·ping++
khalil10205 小时前
代码随想录算法训练营Day-43 动态规划10 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
数据结构·c++·算法·leetcode·动态规划·子序列问题
多加点辣也没关系5 小时前
数据结构与算法|第十一章:跳表
数据结构·算法
晚风叙码6 小时前
归并排序:从原理到非递归实现,一文搞定
数据结构·算法