数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
z200509304 小时前
今日算法(回溯子集)(模版题)
数据结构·算法·leetcode
QiLinkOS4 小时前
【用呼吸重构创造价值关系——QiLink生态】
c语言·数据结构·c++·人工智能·单片机·嵌入式硬件·算法
晚风予卿云月5 小时前
【前缀和】一维前缀和 & 二维前缀和
数据结构·c++·算法
YL200404265 小时前
071字符串解码
数据结构·leetcode
变量未定义~5 小时前
单点修改、区间求和(模板)、区间修改,单点查询(模板)
数据结构·算法
LinHenrY12276 小时前
数据结构(二叉树)
数据结构
炸薯条!7 小时前
树--二叉树--堆
数据结构
z200509307 小时前
今日算法(回溯子集)
数据结构·算法·leetcode
Hesionberger7 小时前
巧用异或找出唯一数字(多解)
java·数据结构·python·算法·leetcode
变量未定义~7 小时前
阶乘的约数和、斐波那契数列、数列区间最大值(ST表)
数据结构·算法