1.结构体
typedef struct
{
u8 data[N]; //队列储存区
u8 front; //出队标记
u8 rear; //入队标记
}sequeue_t;
2.创建队列
sequeue_t * create_empty_sequeue()
{
sequeue_t * sq;
sq = (sequeue_t *)malloc(sizeof(sequeue_t));
sq->front = sq->rear = 0;
return sq;
}
3判断队列是否为空
u8 check_seqeue_empty(sequeue_t * sq)
{
return (sq->front == sq->rear);
}
4.入队
u8 enqueue(sequeue_t *sq ,u8 val)
{
sq->rear = (sq->rear+1) % (N-1); //循环存储
sq->data[sq->rear] = val;
return 0;
}
5.出队
u8 dequeue(sequeue_t * sq)
{
u8 val = 0;
sq->front = (sq->front+1) % (N-1);