数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
j7~15 小时前
【数据结构初阶】顺序表增删查改代码实现--详解
数据结构·顺序表·动态顺序表·静态顺序表
枕星而眠15 小时前
【数据结构】红黑树入门指南
运维·数据结构·c++·后端
:-)17 小时前
基础算法-选择排序
数据结构·算法·排序算法
粘稠的浆糊17 小时前
[AtCoder - abc465_d ]X to Y题解
数据结构·c++·算法
海清河晏11117 小时前
数据结构 | 二叉平衡搜索树
开发语言·数据结构·visual studio
兰令水18 小时前
hot100【acm版】【2026.7.11/12打卡-java版本】
java·开发语言·数据结构·算法·职场和发展
叩码以求索20 小时前
使用next数组加速匹配过程
java·数据结构·算法
小欣加油20 小时前
leetcode1331 数组序号转换
数据结构·c++·算法·leetcode·职场和发展
阿米亚波20 小时前
【C++ STL】std::deque
数据结构·c++·笔记·算法·stl
:-)21 小时前
基础算法-插入排序
数据结构·算法·排序算法