?? 鏈接隊列.cpp
字號:
void InitQueue(LinkQueue& Q) //初始化隊列
{
Q.front=Q.rear=NULL;
}
void EnQueue(LinkQueue& Q,ElemType item)//向隊列中插入一個元素
{
LNode *newptr=new LNode();
newptr->data=item;
newptr->next=NULL;
if(Q.rear==NULL) //若隊列為空,則新結點既是隊首又是隊尾
Q.front=Q.rear=newptr;
Q.rear->next=newptr; //若隊列非空,則新結點被鏈接到隊尾
Q.rear=newptr;
}
ElemType OutQueue(LinkQueue& Q) //從隊列中刪除一個元素
{
if(Q.front==NULL) //若隊列為空則終止運行
{
cout<<"Empty!"<<endl;
exit(1);
}
LNode *p; //暫存隊首元素以便返回
p=Q.front; //暫存隊首指針以便回收隊首結點
ElemType a=p->data; //使隊首指針指向下一個結點
Q.front=p->next; //若刪除后隊列為空,則使隊尾指針為空
if(Q.front==NULL)
Q.rear=NULL;
delete p;
return a; //返回刪除的隊首元素
}
void ClearQueue(LinkQueue& Q) //清除隊列中的所有元素,使之變成空隊
{
LNode *b; //對首時針賦給p
b=Q.front;
while(Q.front!=NULL) //依次刪除隊列中的每個元素
{
Q.front=b->next;
delete b;
b=Q.front;
}
Q.rear=NULL; //置隊尾指針為空
}
bool EmptyQueue(LinkQueue& HQ) //檢查隊列是否為空
{
return HQ.front==NULL;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -