队列的链式存储结构

队列的链式存储结构
typedef struct QNode
{
    QElemType data;
    struct QNode *next;
}QNode,*QueuePtr;
 
 
typedef struct
{
    QueuePtr front;
    QueuePtr rear;
}LinkQueue;
 
 
链队的初始化
Status InitQueue(LinkQueue &Q)
{
    Q.front=Q.rear=new QNode;
    Q.front->next=NULL;
    return OK;
}
 
链队的入队
Status EnQueue(LinkQueue &Q,QElemType e)
{
    p=new QNode;
    p->data=e;
    p->next=NULL;Q.rear->next=p;
    Q.rear=p;
    return OK;
}
 
 
链队的出队
Status DeQueue(LinkQueue &Q,QElemType &e)
{
    if(Q.front==Q.rear) return ERROR;
    p=Q.front->next;
    e=p->data;
    Q.front->next=p->next;
    if(Q.rear==p) Q.rear=Q.front;
    delete p;
    return OK;
}
 
取链队的队头元素
SElemType GetHead(LinkQueue Q)
{
    if(Q.front!=Q.rear)
    return Q.front->next->data;
}

版权声明:
作者:maple
链接:https://www.maplezeroz.com/?p=259
来源:我的学习笔记
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
队列的链式存储结构
队列的链式存储结构 typedef struct QNode {     QElemType data;     struct QNode *next; }QNode,*QueuePtr;     typedef struct {     QueuePtr front;  ……
<<上一篇
下一篇>>