队列,遵循一个原则:先进先出
就像一个管道,一头是入口、一头是出口,先进去的就可以从出口先出来。
因为是写作业,所以还是遵循的最简单的写法,先放一个输出结果示例:
我们先定义一个基础的顺序队列需要的结构体:
基础属性包括:队头、队尾以及存储数据的数组;
#pragma once
using namespace std;
const int MAX_SIZE = 100;
class Queue {
public:
void initQueue(Queue* q);//初始化顺序队列;
void isEmpty(const Queue* q);//判断是否为空
void isFull(const Queue* q);//判断队列是否为满
void push(Queue* q,int val);//入队;
void pop(Queue* q);//出队;
void front(Queue* q);//读队头元素
void deinit(Queue* q);//销毁顺序队列;
private:
int queue[MAX_SIZE];
int head;
int tail;
};
接下来是以上函数的具体解释: