银行排队叫号系统C

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include

typedef struct QNode

{

int data;

struct QNode*next;

}QNode,*QueuePtr;

typedef struct

{

QueuePtr front;

QueuePtr rear;

}LinkQueue;

int n=0;//记录队列的长度

void InitQueue(LinkQueue&s)

{

s.front=s.rear=(QueuePtr)malloc(sizeof(QNode));

s.front->next=NULL;

}

void EnQueue(LinkQueue&s,int e)

{

QueuePtr p;

p=(QueuePtr)malloc(sizeof(QNode));

p->data=e;

p->next=NULL;

s.rear->next=p;

s.rear=p;

n++;

}

void DeQueue(LinkQueue&s)

{

QueuePtr p;

p=s.front->next;

printf("%d\n",p->data);

s.front->next=p->next;

if(s.rear==p)

s.rear=s.front;

free(p);

n--;

}

void main()

{

int a;

LinkQueue s;

int e=10001;

InitQueue(s);

do

{

scanf("%d",&a);

switch(a)

{

case1:

{

EnQueue(s,e);

printf("标号为%4d入队,前面还有%4d人\n",s.front->next->data,n-1);

e++;

break;}

case2:

{

if(n-1>0)

DeQueue(s);

if(n-1<0)

printf("此时无人\n");

else

printf("前面还有%4d人\n",n-1);

break;}

}

}while(1);

}

相关文档
最新文档