这部分的代码是从 动态数组队列哪里改过来的。如果有错误, 那基本上两个的错误都一样。哈哈
/********************************************************************************
* Copyright(c) 2019-20xx
* All right resered.
*
* @file static_queue.h
* @author hongsmallgod
* @version V1.0.1
* @data 2019-9-10 15:53:29
* @brief 静态数组头文件
********************************************************************************/
#ifndef _DYNAMIC_QUEUE_H
#define _DYNAMIC_QUEUE_H
#define TAIL 0 /* 若队列不空,尾指针指向队列尾元素的下一个位置 */
#define TAIL1 1 /* 若队列不空,尾指针指向队列尾元素 */
#define static_array_queue TAIL1
#define STATIC_QUEUE_MAX_SIZE 1024
typedef int element; /* 队列元素类型 */
typedef struct queue queue;
struct queue {
int front;
int rear;
element data[STATIC_QUEUE_MAX_SIZE];
int size; /* 队列的大小 */
/* 函数(方法) */
int (*num)(queue *); /* 元素数量 */
int (*enqueue)(queue *, element); /* 入队操作 */
int (*dequeue)(queue *, element *); /* 出队操作 */
int (*head)(queue *, element *); /* 获取队列头元素, 不改变队列 */
int (*tail)(queue *, element *); /* 获取队列尾元素, 不改变队列 */
int (*full)(queue *); /* 判断队列是否已满 */
int (*empty)(