数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
smj2302_796826526 小时前
解决leetcode第3943题递增后的数对数量
数据结构·python·算法·leetcode
梓䈑8 小时前
【算法题攻略】快速排序 和 归并排序
数据结构·c++·排序算法
he___H10 小时前
leetcode100-普通数组
java·数据结构·算法·leetcode
不知名的老吴10 小时前
经典算法实战:重新排列日志文件(二)
数据结构·算法
CS创新实验室11 小时前
数据结构和算法:斐波那契堆
数据结构·算法·斐波那契堆
guslegend13 小时前
2.Redis核心数据结构
数据结构·数据库·redis
Daydream.V13 小时前
Redis 零基础入门到实战:数据结构 + 常用命令 + 场景全覆盖
数据结构·数据库·redis
bnmoel13 小时前
数据结构深度剖析二叉树・中篇:堆的概念及结构 ,实现应用全解析
数据结构·算法·二叉树··top-k问题
fu的博客13 小时前
【数据结构15】哈夫曼树构建、编码(附手绘图解)
数据结构
bnmoel13 小时前
数据结构深度剖析二叉树・上篇:基础概念、结构特性、存储结构全解析
c语言·数据结构·二叉树·