队列
- 队列是只允许在一端删除,在另一端插入的顺序表
- 允许删除的一端叫队头(front),允许插入的一端叫队尾(rear)
- 先进先出(FIFO)
定义队列结构
//定义链式结点
typedef struct _node
{
Data data;
struct _node *next;
}Node;
typedef struct _queue
{
Node *front; //队头指针
Node *rear; //队尾指针
}Queue;
队列的初始化
void Init(Queue *q)
{
if (NULL == q)
return;
//队头指针和队尾指针置空
q->front = NULL;
q->rear = NULL;
}
队列的进队
注意:需要考虑空队列的情况,涉及到front->next,front初始化为NULL,段错误
/队列从队尾插入
void Push(Queue *q,