C++链式队列

来源:互联网 发布:涂鸦移动 王晔 知乎 编辑:程序博客网 时间:2024/05/20 11:24
#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;}

0 0
原创粉丝点击