数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
如竟没有火炬4 小时前
接雨水22
数据结构·python·算法·leetcode·散列表
ʚ希希ɞ ྀ4 小时前
二叉树的锯齿层序遍历
数据结构·算法
tyung6 小时前
用 Go 实现一个生产级 Ring Buffer Queue:环形数组、位运算取模、批量操作全拆解
数据结构·go
SHARK_pssm8 小时前
【数据结构——复杂度】
c语言·数据结构·经验分享·笔记
故事和你918 小时前
洛谷-【图论2-1】树2
开发语言·数据结构·c++·算法·动态规划·图论
努力努力再努力wz9 小时前
【Qt入门系列】深入理解信号与槽:从事件响应到自定义信号机制
c语言·开发语言·数据结构·数据库·c++·qt·mysql
Ricky_Theseus9 小时前
B树和B+树的区别
数据结构·b树
爱炼丹的James10 小时前
第二章 数据结构
数据结构
我爱cope10 小时前
【前缀和:3. 无重复字符的最长子串】
数据结构·算法·leetcode
不知名的忻10 小时前
关键路径(Java)
java·数据结构·算法·关键路径