-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueue.hpp
More file actions
49 lines (36 loc) · 844 Bytes
/
Copy pathqueue.hpp
File metadata and controls
49 lines (36 loc) · 844 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef Queue_H
#define Queue_H
typedef int Item;
typedef struct node * PNode;
typedef struct node
{
Item data;
PNode next;
}Node;
typedef struct
{
PNode front;
PNode rear;
int size;
}Queue;
/*构造一个空队列*/
Queue *InitQueue();
/*销毁一个队列*/
void DestroyQueue(Queue *pqueue);
/*清空一个队列*/
void ClearQueue(Queue *pqueue);
/*判断队列是否为空*/
int IsEmpty(Queue *pqueue);
/*返回队列大小*/
int GetSize(Queue *pqueue);
/*返回队头元素*/
PNode GetFront(Queue *pqueue,Item *pitem);
/*返回队尾元素*/
PNode GetRear(Queue *pqueue,Item *pitem);
/*将新元素入队*/
PNode EnQueue(Queue *pqueue,Item item);
/*队头元素出队*/
PNode DeQueue(Queue *pqueue,Item *pitem);
/*遍历队列并对各数据项调用visit函数*/
void QueueTraverse(Queue *pqueue,void (*visit)());
#endif