队列的定义为先进先出,像排队一样。
队列的形式: 顺序队列:用数组表达。链式队列,用链表表达。循环队列:用数组表达
队列的元素的结构体:
//Define a node
typedef struct QuequeNode
{
int data;
struct QuequeNode* next;
}QueueNode;
队列本身的数据结构:包含头尾节点以及Size. 规则为尾进头出(方便操作)
// Define a Linked Queue
typedef struct LinkQueue
{
int size;
QueueNode* front;
QueueNode* Rear;
}LinkQueue;
队列操作包括,初始化,入队,出队,清空队,打印队,取队的长度,判断是否为空等等。
// create a queque
LinkQueue* createLinkQue()
{
// Apply Mempry space
LinkQueue* InitQueue = (LinkQueue*)malloc(sizeof(LinkQueue));
// init Que.
InitQueue->size = 0