数据结构之栈和队列

栈的定义:

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

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

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

代码实现:

栈的顺序结构进栈:

代码实现:

栈的顺序结构出栈:

代码实现:

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

获取栈顶元素:

代码实现:

最后看一下实现结果:

栈的内存分配进行初始化

栈的链式结构初始化:

代码实现:

栈的链式结构进栈:

代码实现:

栈的链式结构出栈:

代码实现:

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

代码实现:

最后看一下实现结果

下面到了队列

队列的定义正好与栈相反

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

队列的顺序结构初始化:

代码实现:

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

代码实现:

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

代码实现:

队列的顺序结构入队:

代码实现:

队列的顺序结构出队:

代码实现:

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

代码实现:

最后看一下实现结果:

循环队列:

队列的循环结构初始化:

代码实现:

队列的循环结构入队:

代码实现:

队列的循环结构出队:

代码实现:

最后看一下实现结果:

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

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

队列链式结构初始化:

代码实现:

队列链式结构进队:

代码实现:

队列链式结构出队:

代码实现:

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

代码实现:

最后看一下实现结果:

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

相关推荐
好好研究2 小时前
学习栈和队列的插入和删除操作
数据结构·学习
挺菜的5 小时前
【算法刷题记录(简单题)003】统计大写字母个数(java代码实现)
java·数据结构·算法
2401_858286115 小时前
125.【C语言】数据结构之归并排序递归解法
c语言·开发语言·数据结构·算法·排序算法·归并排序
双叶8366 小时前
(C++)学生管理系统(正式版)(map数组的应用)(string应用)(引用)(文件储存的应用)(C++教学)(C++项目)
c语言·开发语言·数据结构·c++
学不动CV了9 小时前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
算法_小学生11 小时前
LeetCode 287. 寻找重复数(不修改数组 + O(1) 空间)
数据结构·算法·leetcode
Wo3Shi4七14 小时前
哈希冲突
数据结构·算法·go
V我五十买鸡腿15 小时前
顺序栈和链式栈
c语言·数据结构·笔记·算法
七灵微16 小时前
数据结构实验习题
数据结构
杰克尼1 天前
BM5 合并k个已排序的链表
数据结构·算法·链表