数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

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