队列链式存储

来源:互联网 发布:运动会班服创意知乎 编辑:程序博客网 时间:2024/06/03 23:14

链队列的数据结构为:

typedef int QElemType;typedef struct QNode{        QElemType data;        struct QNode *next;}QNode,*QueuePtr;typedef struct{        Queueptr front,rear;}LinkQueue;

入队操作:

Status EnQueue(LinkQueue *Q,QElemType e){        QueuePtr s = (QueuePtr)malloc(sizeof(QNode));        if(!s)                exit(1);        s->data = e;        s->next = NULL;        Q->rear->next = s;        Q->rear = s;        return OK;}

出队操作:

Status DeQueue(linkQueue *Q,QElemType *e){        QueuePtr p;        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;//若队头是队尾,则删除后将rear指向头结点。        free(p);        return OK;}
原创粉丝点击