📄 queue.c
字号:
#include <string.h>#include "queue.h"/* * 功能描述: 循环队列的初始化,将队列所有内容初始化为0 * 入口参数: 指向要初始化的指针p * 出口参数: 无 */void queue_init(struct queue_t *p){ memset(p, 0, sizeof(struct queue_t));}void queue_destory(void) {}/* * 功能描述: 入队函数,将x插入p所指向的队列尾端 * 入口参数: 指向要初始化的指针p, 入队内容x * 出口参数: 无 */void queue_insert(struct queue_t *p, unsigned char x){ if( p->tail == QUEUESIZE) p->tail = 0; else p->tail++; p->mdata[p->tail] = x;}/* * 功能描述: 将p所指向队列头部的数据弹出 * 入口参数: 指向要初始化的指针p * 出口参数: 队列头部的数据 */unsigned char queue_delete(struct queue_t *p){ if( p->head == QUEUESIZE) p->head = 0; else p->head++; return p->mdata[p->head];}/* * 功能描述: 判断p所指向队列是否为空 * 入口参数: 指向要初始化的指针p * 出口参数: 空则返回1,非空返回0 */unsigned char queue_isempty(struct queue_t *p){ if(p->head == p->tail) return 1; else return 0;}/* * 功能描述: 将x插入p所指向的队列头部 * 入口参数: 执行队列的指针p, 入队内容 x * 出口参数: 无 */void queue_insert_front(struct queue_t *p, unsigned char x) { p->mdata[p->head] = x; if( p->head == 0) p->head = QUEUESIZE; else p->head--;}/* * 功能描述: 将p所指向队列尾部的数据弹出 * 入口参数: 指向要初始化的指针p * 出口参数: 队列头部的数据 */unsigned char queue_pop_tail(struct queue_t *p) { unsigned char x = p->mdata[p->tail]; if( p->tail == 0 ) p->tail = QUEUESIZE; else p->tail = 0; return x;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -