33 lines
831 B
C
Executable File
33 lines
831 B
C
Executable File
#ifndef _ARAN_QUEUE_H_
|
||
#define _ARAN_QUEUE_H_
|
||
|
||
#include "dd_dlist.h"
|
||
|
||
typedef Llist Queue;
|
||
|
||
// 创建一个队列,返回Queue指针
|
||
// @data_size: 指队列中元素所占的空间,如 sizeof(struct xxx_st)
|
||
Queue *queue_create(int data_size);
|
||
|
||
// 销毁一个队列(和free()一样,p_queue不会被置空,但其空间已释放)
|
||
void queue_destroy(Queue *p_queue);
|
||
|
||
// 入队,成功返回0,失败-1.
|
||
// @data: 为要插入的数据
|
||
int queue_en(Queue *p_queue, const void *data);
|
||
|
||
// 出队,成功返回0,失败-1(队列空).
|
||
// @data: 用于接收出队的数据
|
||
int queue_de(Queue *p_queue, void *data);
|
||
|
||
// 获取队列中的元素个数
|
||
int queue_node_num(Queue *p_queue);
|
||
|
||
// 判断队列是否为空
|
||
// 返回值: 1-empty, 0-not_empty
|
||
int queue_is_empty(Queue *p_queue);
|
||
|
||
|
||
#endif /* _ARAN_QUEUE_H_ */
|
||
|