顺序队列用数组来存储,空间大小是固定的,一些情况下会有不方便
无法估计所用队列长度,宜采用链队列

队头指针,队尾指针(队列用链表表示需要两个指针)

进在尾结点,
出在头结点(front的next改下就行了)

销毁算法(销毁链队列)
        算法思想:从队头结点开始,依次释放所有结点。
Status DestoryQueue (LinkQueue &Q) {
    while(Q.front) {
        P = Q.front->next;
        free(Q.front);
        Q.front = p;
    }
    return ok;
}

将元素e入队
p = (QueuePtr)malloc(sizeof(QNode));
if(!p)
    exit(OVERFLOW);
p->data = e;
p->next = NULL;
Q.rear->next = p;
Q.rear = p;
return OK;

链队列出队
if (Q.front == Q.rear)
    return ERROR;

p = Q.front->next;
e = p->data;
Q.front->next = p->next;
if (Q.rear == p)
    Q.rear = Q.front;
delete p; // c语言是:free(p);
return OK;

求链队列的队头元素
if (Q.front == Q.rear)
    return ERROR;
e = Q.front->next->data;
return OK;