栈的定义:
我们要记住这8个字,先进后出,后进先出
我们对于栈的操作只有两个,进栈和出栈
栈的顺序结构初始化:(和顺序表差不多)
代码实现:
栈的顺序结构进栈:
代码实现:
栈的顺序结构出栈:
代码实现:
这里解释一下,让下标减一,下次进行进栈的时候就直接覆盖了,和顺序表的原理差不多
获取栈顶元素:
代码实现:
最后看一下实现结果:
栈的内存分配进行初始化
栈的链式结构初始化:
代码实现:
栈的链式结构进栈:
代码实现:
栈的链式结构出栈:
代码实现:
栈的链式结构获取栈顶元素:
代码实现:
最后看一下实现结果
下面到了队列
队列的定义正好与栈相反
我们要记住这8个字,先进先出,后进后出
队列的顺序结构初始化:
代码实现:
队列的顺序结构判断队列是否为空:
代码实现:
队列的顺序结构判断队列的元素满没满:
代码实现:
队列的顺序结构入队:
代码实现:
队列的顺序结构出队:
代码实现:
队列的顺序结构获取尾数据:
代码实现:
最后看一下实现结果:
循环队列:
队列的循环结构初始化:
代码实现:
队列的循环结构入队:
代码实现:
队列的循环结构出队:
代码实现:
最后看一下实现结果:
循环队列这里有一个BUG,他永远满不了
因为real永远指向元素的下一个位置,当他指向0的时候,在判断满没满时,他的结果是满的 ,实际上没有满,我们看一下下面这张图片
队列链式结构初始化:
代码实现:
队列链式结构进队:
代码实现:
队列链式结构出队:
代码实现:
队列链式结构获取头元素:
代码实现:
最后看一下实现结果:
关于队列的基础知识点就先到这里吧,我们寒假在见