数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
Adios79429 分钟前
设置交集大小至少为2
数据结构·算法·leetcode
来一碗刘肉面7 小时前
栈的应用(表达式求值)
数据结构·算法
yuannl1010 小时前
图的深度优先遍历DFS
数据结构
青山木13 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
不会就选b13 小时前
算法日常・每日刷题--<归并排序>1
数据结构·算法
危桥带雨13 小时前
排序算法(快排、归并、计数、基数排序)
数据结构·算法·排序算法
zephyr0514 小时前
数据结构-并查集
数据结构
稚南城才子,乌衣巷风流15 小时前
动态树(Dynamic Tree)数据结构详解
数据结构·算法
zander25815 小时前
114. 二叉树展开为链表
数据结构·链表·深度优先
小肝一下16 小时前
3. 单链表
c语言·数据结构·c++·算法·leetcode·链表·dijkstra