数据结构之栈和队列

栈的定义:

我们要记住这8个字,先进后出,后进先出

我们对于栈的操作只有两个,进栈和出栈

栈的顺序结构初始化:(和顺序表差不多)

代码实现:

栈的顺序结构进栈:

代码实现:

栈的顺序结构出栈:

代码实现:

这里解释一下,让下标减一,下次进行进栈的时候就直接覆盖了,和顺序表的原理差不多

获取栈顶元素:

代码实现:

最后看一下实现结果:

栈的内存分配进行初始化

栈的链式结构初始化:

代码实现:

栈的链式结构进栈:

代码实现:

栈的链式结构出栈:

代码实现:

栈的链式结构获取栈顶元素:

代码实现:

最后看一下实现结果

下面到了队列

队列的定义正好与栈相反

我们要记住这8个字,先进先出,后进后出

队列的顺序结构初始化:

代码实现:

队列的顺序结构判断队列是否为空:

代码实现:

队列的顺序结构判断队列的元素满没满:

代码实现:

队列的顺序结构入队:

代码实现:

队列的顺序结构出队:

代码实现:

队列的顺序结构获取尾数据:

代码实现:

最后看一下实现结果:

循环队列:

队列的循环结构初始化:

代码实现:

队列的循环结构入队:

代码实现:

队列的循环结构出队:

代码实现:

最后看一下实现结果:

循环队列这里有一个BUG,他永远满不了

因为real永远指向元素的下一个位置,当他指向0的时候,在判断满没满时,他的结果是满的 ,实际上没有满,我们看一下下面这张图片

队列链式结构初始化:

代码实现:

队列链式结构进队:

代码实现:

队列链式结构出队:

代码实现:

队列链式结构获取头元素:

代码实现:

最后看一下实现结果:

关于队列的基础知识点就先到这里吧,我们寒假在见

相关推荐
玖玥拾10 小时前
C++ 数据结构 八大基础排序算法专题
数据结构·c++·算法·排序算法
Tim_1011 小时前
【C++】017、new/delete与malloc/free的区别
java·数据结构·算法
岑梓铭13 小时前
《考研408数据结构》第六章(6.3 图的遍历)复习笔记
数据结构·笔记·考研··拓扑排序·408
noipp16 小时前
推荐题目:洛谷 P13554 【MX-X15-T1】奶龙龙
c语言·数据结构·c++·算法·编程·洛谷
AI科技星17 小时前
《全域数学·工程应用大典》113–200讲完整总目录
数据结构·人工智能·算法·机器学习·线性回归·乖乖数学·全域数学
米尔的可达鸭19 小时前
深入操作系统 Socket 底层:EPOLLOUT 可写事件管理 + 非阻塞异步
开发语言·网络·数据结构·经验分享·websocket·网络协议
Irissgwe20 小时前
算法之二分查找
数据结构·c++·算法·二分查找
小蒋学算法20 小时前
算法-滑动窗口最大值
数据结构·算法
youtootech1 天前
HarmonyOS《柚兔学伴》项目实战09-待办列表 UI——List+ForEach+滑动删除
数据结构·ui·华为·list·harmonyos
:-)1 天前
算法-归并排序
java·开发语言·数据结构·算法·排序算法