数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
Chen_harmony15 小时前
二、顺序表
数据结构
BAGAE15 小时前
星链卫星数据获取:从太空安全到实时通信的技术革命
网络·数据结构·数据库·算法·云计算·hbase
h_a_o777oah15 小时前
【算法专项】扩展域并查集:原理详解及解决大部分种类并查集问题(洛谷P5937 P2024 C++代码)
数据结构·c++·算法·acm·并查集·扩展域·逻辑建模
吴阿福|一人公司16 小时前
深度解析 Python 类变量修改的命名空间隔离
java·服务器·数据结构
不知名的老吴17 小时前
经典算法题之行星碰撞
数据结构·算法
丘山望岳17 小时前
剑起霜华——平衡二叉树(AVL树 )精讲
开发语言·数据结构·c++
LuminousCPP17 小时前
数据结构 - 单链表第一篇:单链表基础操作
c语言·数据结构·经验分享·笔记·学习
WL学习笔记17 小时前
通讯录(顺序表实现)
c语言·数据结构·算法
JieE21218 小时前
树与二叉树--JS实例
javascript·数据结构
To_OC18 小时前
搞懂二叉树递归遍历,我居然是从爬楼梯开始的
前端·javascript·数据结构