前言:
了解数据结构之前,我们来了解队列的基本结构,队列是先进先出(一边只负责入队,一边只负责出队)的类型,其包含数据域,以及两个指针,一个指向头数据,一个指向尾数据,其结构简单,但是却要注意他的前后指针是否指向相等来判空。
(%目的是整合rear和front大小为一个问题,就是所得rear,front值在MAX内)。
队列的结构体
代码如下:
队列的初始化
只用将头尾指针指向开头即可,此时队列为空。
代码如下:
入队操作
先判断队列是否为满(跟之前的栈,顺序表一样,都要先进行判断),然后在进行入队操作。
代码如下:
队列长度
(%作用在前言部分所提),求出rear和front之间的数据个数即为长度。
代码如下:
队列展示
从front开始,求得队列长度,依次输出即可。
代码如下:
出队操作
判断是否为空,空的话则出队不了,否则直接让前指针后移一位。
代码如下:
判断队列是否为空
直接看front和rear是否相等,相等的话队列就为空。
代码如下:
判断队列是否为满
判断((L->rear+1)%MAX 与 L->front是否相等--取模作用看前言)
代码如下:
以上便是队列的一些基本操作,浅浅给与我一样的小白提供一个思路,当然还有其他类型的队列,我只介绍了最常见的一种。
(虚心接受大佬指点指点)