数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
念_ovo15 分钟前
【算法/c++】利用中序遍历和后序遍历建二叉树
数据结构·c++·算法
_安晓28 分钟前
数据结构 -- 图的存储
数据结构·算法
.YY001.1 小时前
数据结构第一轮复习--第六章图包含代码
数据结构·算法
星星火柴9363 小时前
数据结构:链表 (C++实现)
数据结构·c++·笔记·链表
在努力的韩小豪3 小时前
B树和B+树的区别(B Tree & B+ Tree)
数据结构·数据库·b树·b+树·索引·数据库索引
ん贤3 小时前
2024第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
c语言·数据结构·c++·经验分享·笔记·算法·蓝桥杯
Phoebe鑫4 小时前
数据结构每日一题day11(链表)★★★★★
数据结构·算法
Jay_See4 小时前
Leetcode——239. 滑动窗口最大值
java·数据结构·算法·leetcode
什码情况5 小时前
微服务集成测试 -华为OD机试真题(A卷、JavaScript)
javascript·数据结构·算法·华为od·机试
洋次郎的歌6 小时前
我要成为数据结构与算法高手(三)之双向循环链表
数据结构