mirror of
https://gitee.com/apaki/unicstl.git
synced 2025-05-18 03:51:35 +08:00
42 lines
791 B
C
42 lines
791 B
C
#ifndef _QUEUE_H_
|
|
#define _QUEUE_H_
|
|
|
|
#include "common.h"
|
|
|
|
#if QUEUE == 1
|
|
// typedef int queue_data_t;
|
|
|
|
// node of queue
|
|
typedef struct _queue_node_t
|
|
{
|
|
queue_data_t data;
|
|
struct _queue_node_t * next;
|
|
} queue_node_t, *pqueue_node_t;
|
|
|
|
// queue
|
|
typedef struct _queue_t
|
|
{
|
|
struct _queue_node_t * front;
|
|
struct _queue_node_t * rear;
|
|
uint32_t size;
|
|
}queue_t,*pqueue_t;
|
|
|
|
|
|
bool queue_init(pqueue_t * head);
|
|
void queue_destroy(pqueue_t * head);
|
|
bool queue_empty(pqueue_t head);
|
|
void queue_clear(pqueue_t head);
|
|
uint32_t queue_get_size(pqueue_t head);
|
|
|
|
bool queue_in(pqueue_t head, queue_data_t data);
|
|
void queue_out(pqueue_t head, queue_data_t *data);
|
|
bool queue_get_front(pqueue_t head, queue_data_t *data);
|
|
bool queue_get_rear(pqueue_t head, queue_data_t *data);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif // _QUEUE_H_
|