数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
布莱克6052 小时前
数据库索引分类:数据结构、物理存储与逻辑角度详解
数据结构·数据库
Fa_Mian_Tuan3 小时前
图论基础|邻接矩阵超详细讲解(含无向/有向/带权图+完整可运行C语言代码)
c语言·数据结构·笔记·算法·图论
小星星闪亮登场5 小时前
ST表--倍增思想
开发语言·数据结构·c++·算法·思维
xiaohebang6 小时前
流失预测模型设计:行为特征分析算法选型
大数据·数据结构·经验分享
祖力558 小时前
快速学会数据结构中的链式队列与循环队列
linux·c语言·数据结构·算法
布莱克6059 小时前
理解B+树:原理、特性与应用场景
数据结构·数据库·mysql
晚风叙码11 小时前
C++哈希表实现:开放定址法和链地址法 (哈希桶)
数据结构·c++·哈希算法·散列表
imaol111 小时前
哈希表--数据结构
数据结构·散列表
Herbert_hwt1 天前
C语言零基础入门:循环控制与数据类型详解
c语言·数据结构·算法
晚风醉蝶1 天前
1-6-插入排序-InsertionSort
java·数据结构·排序算法