数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
伟大的车尔尼1 小时前
贪心的概念
数据结构·算法·贪心
AI情绪识别开源1 小时前
检信AI高一分班分科智选评估系统 v2.0测试报告
开发语言·数据结构·人工智能·科技
CoderYanger2 小时前
A.每日一题:输入单词需要的最少按键次数 Ⅰ+Ⅱ
java·数据结构·算法·leetcode·面试
雪碧聊技术3 小时前
KMP算法详解
数据结构
positive_zpc6 小时前
进阶数据结构图——关键路径(四)
数据结构·图论·关键路径
孙克旭_6 小时前
单链表进阶实操:5 道常考面试题详细解析【Java 实现】
java·开发语言·数据结构·单链表
Chester_19997 小时前
CSP202206C.角色授权
开发语言·数据结构·c++·蓝桥杯
旖旎夜光8 小时前
LeetCode 238:除自身以外数组的乘积(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
一条大祥脚8 小时前
26杭电暑期第八场(后半)快读|快写|tarjan|路径DP|mex转化|扫描线|前缀和|二分图
数据结构·算法·tarjan·杭电多校·强联通分量·动态规划dp
Chester_199916 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯