数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
无名猿14 小时前
map / set 完全指南:红黑树与有序容器
数据结构·c++·性能优化·stl·标准库
All for pursuit.14 小时前
【回溯-3】39.组合总和
数据结构·c++·算法·leetcode
不会就选b14 小时前
算法日常・每日刷题--<动态规划>6
数据结构·算法·leetcode
漂流瓶jz14 小时前
UVA-12545 比特变换器 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·题解·aoapc·算法竞赛入门经典·uva·12545
吹什么轩15 小时前
数据结构复习:二叉搜索树
数据结构·算法
H.莓飛15 小时前
【数据结构】堆
linux·数据结构·算法
H.莓飛1 天前
【数据结构】队列
linux·数据结构·centos
不会就选b1 天前
算法日常・每日刷题--<动态规划>3
数据结构·算法
H.莓飛1 天前
【数据结构】队列_OJ题
linux·数据结构·centos
H.莓飛1 天前
【数据结构】栈_OJ题
linux·数据结构·算法·centos