数据结构之堆,栈的实现

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

实现的功能如上图。

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

capacity表示栈的容量。

首先是堆的初始化

再就是栈的插入和删除

然后实现显示栈顶元素

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

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

下面是队列的实现

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

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

初始化的实现

尾插的实现。

尾删的实现。

整个队列销毁的实现

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

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

相关推荐
fashion 道格2 小时前
用 C 语言玩转归并排序:递归实现的深度解析
数据结构·算法·排序算法
j_xxx404_3 小时前
C++:继承(概念及定义|作用域|基类与派生类转换|默认成员函数|与友元、静态成员关系|多继承|组合)
数据结构·c++
码银3 小时前
【数据结构】 栈和队列
数据结构
Freedom_my4 小时前
插入排序算法
数据结构·算法·排序算法
952364 小时前
排序-算法
数据结构·算法·排序算法
WongKyunban4 小时前
插入排序的原理和示例
数据结构·算法·排序算法
聪明绝顶的小Yya4 小时前
数据结构万字解读
数据结构
迈巴赫车主6 小时前
蓝桥杯 20541魔法科考试
java·数据结构·算法·蓝桥杯
帧栈8 小时前
并发编程原理与实战(三十八)高并发利器ConcurrentHashMap 数据结构与核心API深度剖析
数据结构
cpp_250110 小时前
P1765 手机
数据结构·c++·算法·题解·洛谷