数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
mmmmath_36 小时前
LeetCode.541.反转字符串II
数据结构·算法·leetcode
醇氧7 小时前
MySQL 8.0 系统表损坏与引擎转换故障排查实战
数据结构·算法
shirsl10 小时前
算法 Day 5 树 / 二叉树 + DFS
数据结构·python·算法
多弗朗皮卡丘11 小时前
数据结构9:排序算法
c语言·数据结构·排序算法
杜 硕12 小时前
单链表的模拟实现
数据结构
爱吃苹果的日记本14 小时前
数据结构第四课—线性表Linear List
数据结构·学习
Lyyaoo.15 小时前
【动态规划】【待更新】
java·数据结构·算法
我不会起名字32215 小时前
一天一道算法题(35):电话号码的字母组合
java·数据结构·后端·python·leetcode·go·回溯
鹿角片ljp16 小时前
LeetCode 78:子集|回溯、选与不选、递归和path快照
java·数据结构·算法
YSL07012416 小时前
顺序表小补充
数据结构