队列代码及思路详解
如有错误,敬请指正
#include<stdio.h>
#include<malloc.h>
typedef struct Queue
{
int *pBase;//用于创建数组下标,与内存的分配,主导指针指向,相当于 a[i]中的a[]
int front;//队头
int rear;//队尾
}QUEUE;
void init(QUEUE * Q);//初始化 ,注意各函数 的参数类型是队列指针
void traverse_Queue(QUEUE * Q);//输出各元素
bool empty_Queue(QUEUE * Q);//判断是否为空
bool full_Queue(QUEUE * Q);//判断是否为满
bool in_Queue(QUEUE * Q,int val);//元素入队
void out_Queue(QUEUE * Q,int val);//元素出队
int main()
{
int val;//用于接收出队的元素
QUEUE Q;//创建一个队列类型的变量
init(&Q);
//21-24为入队元素
in_Queue(&Q,1);
in_Queue(&Q,2);
in_Queue(&Q,3);
in_Queue(&Q,4);
traverse_Queue(&Q);
//27-28为出对元素
out_Queue(&Q,&val);
out_Queue(&Q,&val);
traverse_Queue(&Q);
retur