队列是一种先进先出的线性表,队列也有两种结构:顺序存储和链式存储
一:队列的链式存储结构
为了实现链式存储,就要设置结点信息——元素和指向下一个结点的指针。为了实现队列的先进先出(FIFO)的功能,就要有两个指针指向开始和结尾,才能方便的进行插入和删除。但是如何表示队列为空呢?当然可以让指向头和指向尾的指针指向NULL,不过可以像链表那样设置头结点,就更容易表示了。图示如下:
1:队列的结点信息表示:
typedef struct QNode{
ElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct{
QueuePtr front; //头指针
QueuePtr rear; //尾指针
}linkqueue;
2:初始化结点信息