C++设计一个程序,反映病人到医院看病、排队看医生的过程。

#include <stdio.h>
#include <malloc.h>
#include <string.h>
typedef struct Lnode 
{    char data[10];            //存放患者姓名
    struct Lnode *next;        //指针域
} QType;                    //链队结点类型
typedef struct 
{    QType *front;            //指向队头病人结点
    QType *rear;            //指向队尾病人结点
} LQueue;                    //病人链队类型
//---初始化队列运算算法---
void InitQueue(LQueue *&lq)
{    lq=(LQueue *)malloc(sizeof(LQueue));
    lq->rear=lq->front=NULL;        //初始时队头和队尾指针均为空
}
//----销毁链队----
void DestroyQueue(LQueue *&lq)
{    QType *pre=lq->front,*p;
    if (pre!=NULL)                    //非空队的情况
    {    if (pre==lq->rear)            //只有一个数据结点的情况
            free(pre);                //释放*pre结点
        else                        //有两个或多个数据结点的情况
        {    p=pre->next;
            while (p!=NULL)
            {    free(pre);            //释放*pre结点
                pre=p; p=p->next;    //pre、p同步后移
            }
            free(pre);                //释放尾结点
        }
        free(lq);                    //释放链队结点
    }
}
//----进队运算算法----
void EnQueue(LQueue *&lq,char x[])
{    QType *s;
    s=(QType *)malloc(sizeof(QType));    //创建新结点,插入到链队的末尾
    strcpy(s->data,x);s->next=NULL;
    if (lq->front==NULL)                //原队为空队的情况
        lq->rear=lq->front=s;            //front和rear均指向*s结点
    else                                //原队不为空队

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值