数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
Miraitowa_cheems1 小时前
LeetCode算法日记 - Day 104: 通配符匹配
linux·数据结构·算法·leetcode·深度优先·动态规划
程序员东岸1 小时前
从零开始学二叉树(上):树的初识 —— 从文件系统到树的基本概念
数据结构·经验分享·笔记·学习·算法
蕓晨2 小时前
数据结构 图 的邻接表建立
数据结构·c++
qq_401700413 小时前
嵌入式常用宏定义
数据结构
Kuo-Teng4 小时前
LeetCode 19: Remove Nth Node From End of List
java·数据结构·算法·leetcode·链表·职场和发展·list
洛_尘6 小时前
数据结构--7:排序(Sort)
java·数据结构
2401_841495647 小时前
【LeetCode刷题】找到字符串中所有字母异位词
数据结构·python·算法·leetcode·数组·滑动窗口·找到字符串中所有字母异位词
元亓亓亓8 小时前
考研408--数据结构--day2--顺序表及其增删改查
数据结构·考研·顺序表·408
dllxhcjla8 小时前
数据结构与算法 第一天
数据结构·算法
洛_尘9 小时前
数据结构--9:反射、枚举以及lambda表达式(了解即可)
java·开发语言·数据结构