美文网首页
链式队列

链式队列

作者: jas_go | 来源:发表于2019-10-09 11:49 被阅读0次
//定义节点
typedef struct LinkNode{
    BiTree data;
    LinkNode *next;
}LinkNode;

typedef struct
{
    LinkNode *front, *rear;
}LinkQueue;
//初始化队列
void InitQueue(LinkQueue &Q)
{
    Q.front=Q.rear=new LinkNode;
    Q.front->next=NULL;
}
//从队尾插入
void EnQueue(LinkQueue &Q, BiTree x)
{
    LinkNode *s;
//     s =(LinkNode*)malloc(sizeof(LinkNode));
    s = new LinkNode;
    s->data=x;
    s->next=NULL;
    Q.rear->next=s;
    Q.rear=s;
}
//从队头读数
void DeQueue(LinkQueue &Q, BiTree &x)
{
    LinkNode *p=Q.front->next;
    x = p->data;
    Q.front->next=p->next;
    if(Q.front->next==NULL)
        Q.rear=Q.front;
    free(p);
}
bool QueueEmpty(LinkQueue Q)
{
    if(Q.front==Q.rear)
        return true;
    else
        return false;
}

相关文章

网友评论

      本文标题:链式队列

      本文链接:https://www.haomeiwen.com/subject/ysdwuctx.html