码迷,mamicode.com
首页 > 其他好文 > 详细

队列的链式存储及简单操作

时间:2016-04-19 17:18:43      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

#include<cstdio>
#include<cstdlib>
#include<cstring>

typedef struct Qnode{
    int data;
    struct Qnode *next;
}Qnode,*QueuePtr;
typedef struct{
    QueuePtr front,rear;
}LinkQueue;
void Init(LinkQueue *Q){
    Q->front = (QueuePtr)malloc(sizeof(Qnode));
    Q->rear = Q->front;
}
int EnQueue(LinkQueue *Q,int e){
    QueuePtr s = (QueuePtr)malloc(sizeof(Qnode));
    if(!s) exit(0);
    s->data = e;
    s->next = NULL;
    Q->rear->next = s;
    Q->rear = s;
    printf("已将 %d 入队!\n",e);
    return 1;
}
int DeQueue(LinkQueue *Q,int *e){
    QueuePtr p;
    if(Q->front == Q->rear) return 0;
    p = Q->front->next;
    *e = p->data;
    Q->front->next = p->next;
    if(Q->rear == p) Q->rear = Q->front;
    free(p);
    return 1;
}
int main(){
    LinkQueue Q;
    int e;
    Init(&Q);
    for(int i=1;i<=10;i++){
        EnQueue(&Q,i);
    }
    for(int i=0;i<10;i++){
        DeQueue(&Q,&e);
        printf("  %d\n",e);
    }
    return 0;
} 

 

队列的链式存储及简单操作

标签:

原文地址:http://www.cnblogs.com/zhuozhuo/p/5408625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!