Queue(队列)
简介
Queue是一款万能的数据结构队列,他能适用于任何一种数据结构,包括已有的和用户自定义的。(少用一个队列数据)
使用方法(有两种,区别在于队列初始化函数,可通过在头文件中修改宏定义MALLOC更改使用)
1、先申请一个队列结构体
QUEUE fifo;
静态内存分配(MALLOC 1)
2、初始化队列(注:需先定义一组数据数组,可以是自定义的结构体数组,也可以是普通的数据类型数组)
typedef struct{
int a;
unsigned int b;
char c;
unsigned char d;
}STRUCT;//随便定义的数据结构,实际使用按需要定义
STRUCT str[10];
Queue_Init(&fifo,sizeof(STRUCT),10,str);
动态内存分配(MALLOC 0)
2、初始化队列(注:需先定义结构体,也可以是普通的数据类型)
typedef struct{
int a;
unsigned int b;
char c;
unsigned char d;
}STRUCT;//随便定义的数据结构,实际使用按需要定义
Queue_Init(&fifo,sizeof(STRUCT),10);
3、数据入队
STRUCT in_data;
data.a = 1;
//...给数据赋值
Queue_Push(&fifo,&in_data);//入队
4、数据出队
STRUCT out_data;
Queue_Pop(&fifo,&out_data);//出队