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

【数据结构课程作业】仅有队尾的链队列

时间:2015-03-31 12:46:29      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#include <stdlib.h>
typedef struct Qnode {
    int val;
    struct Qnode *next;
}Qnode, *pQnode;

typedef struct {
    pQnode rear;
}Link;

void InitQueue(Link *Q)
{
    (*Q).rear = (pQnode)malloc(sizeof(Qnode));
    if((*Q).rear == NULL) exit(-1);
    (*Q).rear->next = (*Q).rear;
}

bool EmptyQueue(Link Q)
{
    if(Q.rear->next == Q.rear) return true;
    return false;
}

void EnQueue(Link *Q, int x)
{
    pQnode p = (pQnode)malloc(sizeof(Qnode));
    if(!p) exit(-1);
    p->val = x; p->next = NULL;
    if(EmptyQueue(*Q)) {
        (*Q).rear->next = p;
        p->next = (*Q).rear;
    }
    (*Q).rear->next->next = p;
    p->next = (*Q).rear;   
}

void DeQueue(Link *Q, int *x)
{
    if(EmptyQueue(*Q)) {
        printf("The Queue has no member!\n");
        return ;
    }
    pQnode p = (*Q).rear->next;
    (*x) = p->val;
    (*Q).rear->next = p->next;
    free(p);
    printf("%d Out\n", *x);
}

【数据结构课程作业】仅有队尾的链队列

标签:

原文地址:http://blog.csdn.net/j_sure/article/details/44777781

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