#include <iostream>
using namespace std;
struct SqQueue
{
char data;
SqQueue *next,*front,*rear;
};
bool SqQueueEmpty(SqQueue q)
{
return (q.rear==NULL);
}
void enQueue(SqQueue& q,char e)
{
SqQueue *p=new SqQueue;
p->data=e;
if(q.rear==NULL)
{
q.front=q.rear=p;
}
else
{
q.rear->next=p;
q.rear=p;
}
}
bool deQueue(SqQueue& q,char& e)
{
char t;
if(q.rear==NULL)
return false;
t=q.front->data;
if(q.front==q.rear)
{
q.front=q.rear=NULL;
}
else
{
q.front=q.front->next;
}
e=t;
return true;
}
int main()
{
SqQueue q;
q.front=q.rear=q.next=NULL;
char e,a[5]= {'a','b','c','d'};
for(int i=0; i<5; i++)
{
enQueue(q,a[i]);
}
if(SqQueueEmpty(q))
cout<<"空队。\n";
else
cout<<"非空队。\n";
while(deQueue(q,e))
{
cout<<e<<' ';
}
return 0;
}
C++链式队列
最新推荐文章于 2022-05-12 15:13:42 发布