queue.h

来自「Avr单片机半双工模式Usart驱动」· C头文件 代码 · 共 41 行

H
41
字号
/*                ****ROBOCON 2009 | BUPT TEAM*******
 * ------------------------------------------------------------------------
 * FileName   : queue.h
 * Version    : 0.1
 * Biref      : Queue Data Structure, Header file
 * Code by    : Leaf
 * Date       : Dec 08, 2008
 * Note       : Use Circle Array
 *
 *
 * ------------------------------------------------------------------------
 */

#ifndef QUEUE_H_INCLUDED
#define QUEUE_H_INCLUDED

#include "includes.h"

#ifndef Q_DATA_TYPE
#define Q_DATA_TYPE uint8
#endif
#ifndef Q_SIZE_TYPE
#define Q_SIZE_TYPE uint8
#endif
typedef struct
{
      Q_DATA_TYPE *buf;
      Q_SIZE_TYPE capacity;
      Q_SIZE_TYPE front;
      Q_SIZE_TYPE back;
      Q_SIZE_TYPE size;
}Queue;

extern void q_init(Queue *q, Q_DATA_TYPE *buf, Q_SIZE_TYPE bufsize);
extern BOOL q_full(Queue *q);
extern BOOL q_empty(Queue *q);
extern void q_pushback(Queue *q, Q_DATA_TYPE d);
extern Q_DATA_TYPE q_popfront(Queue *q);
extern Q_SIZE_TYPE q_flush(Queue *q, Q_DATA_TYPE *buf);
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?