实验4队列子系统Word格式文档下载.docx

上传人:b****3 文档编号:17531145 上传时间:2022-12-07 格式:DOCX 页数:10 大小:236KB
下载 相关 举报
实验4队列子系统Word格式文档下载.docx_第1页
第1页 / 共10页
实验4队列子系统Word格式文档下载.docx_第2页
第2页 / 共10页
实验4队列子系统Word格式文档下载.docx_第3页
第3页 / 共10页
实验4队列子系统Word格式文档下载.docx_第4页
第4页 / 共10页
实验4队列子系统Word格式文档下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验4队列子系统Word格式文档下载.docx

《实验4队列子系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验4队列子系统Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。

实验4队列子系统Word格式文档下载.docx

***************************************************

*1------------进队*

*2------------出队*

*3------------读队头元素*

*4------------显示*

*5------------双队列*

*0------------退出*

请选择菜单号(0--5):

3.实验程序

#include<

stdio.h>

typedefstructqueuenode

{

intdata;

structqueuenode*next;

}QueueNode;

typedefstruct

QueueNode*front,*rear;

}LinkQueue;

voidInQueue(LinkQueue*q)

intx;

QueueNode*p=newQueueNode;

printf("

\n\t\t请输入一个整数:

"

);

scanf("

%d"

&

x);

getchar();

p->

data=x;

next=NULL;

if(q->

front==NULL)

q->

front=p;

else

rear->

next=p;

q->

rear=p;

if(p)

printf("

\n\t\t%d进队成功!

x);

}

intOutQueue(LinkQueue*q,int*v)

QueueNode*p;

return0;

{

p=q->

front;

*v=p->

data;

front=p->

next;

if(q->

q->

rear=NULL;

deletep;

return1;

}

voidShowQueue(LinkQueue*q)

QueueNode*p=q->

if(p==NULL)

\n\t\t队列为空!

\n"

\n\t\t队列中的元素为:

while(p!

=NULL)

{

printf("

%6d"

p->

data);

p=p->

}

voidReadFront(LinkQueue*q)

if(q==NULL||q->

没有对顶元素!

\n\t\t队首元素是:

%4d\n"

q->

front->

#defineQUEUEMAX20

intqueue[QUEUEMAX];

intfront=-1;

intrear=-1;

voidInQueue(intval)

rear=(rear++)%QUEUEMAX;

if(front==rear)

\n\t\t队列已满!

queue[rear]=val;

intOutQueue_rear()

intt;

return-1;

t=queue[rear--];

if(rear<

0&

&

front!

=-1)

rear=QUEUEMAX-1;

returnt;

intOutQueue_front()

t=queue[++front];

if(front==QUEUEMAX)

front=0;

intDQ()

intchoice;

intout[5];

intin[5]={5,4,3,2,1};

intt,pos=0,i;

for(i=0;

i<

5;

i++)

InQueue(in[i]);

\n\t\t初始数据顺序是:

[%d]"

in[i]);

\n\t\t1------从头出队2------从尾出队\n\n"

while(front!

=rear)

\t\t请输入选择(1或2):

scanf("

choice);

switch(choice)

case1:

t=OutQueue_front();

out[pos++]=t;

break;

case2:

t=OutQueue_rear();

\n\t\t数据输出的顺序是:

out[i]);

returnchoice;

voidmain()

LinkQueue*q=newLinkQueue;

intval,i=1;

charw,choice;

front=q->

while(i)

\n\t\t队列子系统"

\n\t\t***************************************************"

\n\t\t*1------------进队*"

\n\t\t*2------------出队*"

\n\t\t*3------------读队头元素*"

\n\t\t*4------------显示*"

\n\t\t*5------------双队列*"

\n\t\t*0------------退出*"

\n\t\t请选择菜单号(0--5):

%c"

getchar();

case'

1'

:

InQueue(q);

break;

2'

if(OutQueue(q,&

val)==0)

printf("

else

\n\t\t出队元素为:

val);

3'

ReadFront(q);

4'

ShowQueue(q);

5'

DQ();

0'

i=0;

default:

;

if(choice=='

||choice=='

\n\n\t\t按【Enter】键继续,按任意键返回主菜单,\n"

w=getchar();

if(w!

='

\xA'

i=0;

4.程序运行

5.实验小结

这次的实验花了90分钟(两节课)的时间把程序代码打完运行了一遍,从完成时间上来说,要比上次实验的又快了点。

这次的程序代码在第一次运行时提示出现了很多错误,然后我就一个个地都纠正了几次。

除了提示只有一个错误的那个错误外,其他都是我漏打某些语句的单词造成的error,主要还是有点粗心啊!

最后一个错误是DQ双列表上漏了加一个返回值,加上去就行了,而书上没有加。

可能是新版的书有很多错误的原因吧,没注意就按着书上的代码打了下来,结果有了些错误。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1