队列简单介绍
队列和栈是常用的两种结构,栈的特点是后进先出,队列特点则是先进先出,可以将队列看作是“排队”的模式;
并且队列的出入特点:
1. 只能从队头删除
2. 只能从队尾添加
队列相应的一些操作:
链式队列
队头:添加不变,删除变
队尾:指向nullptr,反
某些抽象Operation:
InitQueue(); 初始化
DestroyQueue(); 若Q存在,则销毁
ClearQueue(); 若存在且非空,则清空
QueueEmpty(); 若非空,返回true ,否则false
GetHead(); 若非空,返回队头
EnQueue(e); 若Q存在,添加结点e;
DeQueue(); 若Q非空,删除队头元素;
QueueLength(); 返回队列元素个数
后面介绍简单的几个操作,添加和删除;
结点的结构
template <class T>
struct Node {
T data;
Node* next;
};
构造队列
和栈不同,队列有俩指针,一个指向队头front,一个指向队尾rear
struct LinkQueue {
Node* front, * rear;
LinkQueue() :front(nullptr), rear(nullptr) {
}
void InitLinkQ();
void LQ_push(s