用列队解决实际问题_第1页
用列队解决实际问题_第2页
用列队解决实际问题_第3页
用列队解决实际问题_第4页
用列队解决实际问题_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用列队解决实际问题用列队解决实际问题

列队应用场景列队应用程序1列队应用场景2舞伴问题假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。列队应用场景3分析:

先入队的男士或女士亦先出队配成舞伴。因此该问题具体有典型的先进先出特性,可用队列作为算法的数据结构。在算法中,假设男士和女士的记录存放在一个数组中作为输入,然后依次扫描该数组的各元素,并根据性别来决定是进入男队还是女队。当这两个队列构造完成之后,依次将两队当前的队头元素出队来配成舞伴,直至某队列变空为止。此时,若某队仍有等待配对者,算法输出此队列中等待者的人数及排在队头的等待者的名字,他(或她)将是下一轮舞曲开始时第一个可获得舞伴的人。队列应用程序4programdancers;vardancer_name:array[1..100]ofstring;//姓名dancer_sex:array[1..100]ofchar;//性别,'F'表示女性,'M'表示男性F_dancer:array[1..100]ofinteger;F_front,F_rear:integer;//女士队列M_dancer:array[1..100]ofinteger;M_front,M_rear:integer;//男士队列num,i,count:integer;beginF_front:=0;F_rear:=0;M_front:=0;M_rear:=0;write('请输入参加跳舞的人数:');readln(num);writeln('依次输入跳舞者的性别、姓名:');fori:=1tonumdobeginwrite(i,':');readln(dancer_sex[i],dancer_name[i]);//输入性别,姓名end;队列应用程序5

fori:=1tonumdo//依次将跳舞者依其性别入队,只记录跳舞者数组的下标beginif(dancer_sex[i]='F')thenbegininc(F_rear);F_dancer[F_rear]:=i;//排入女队endelsebegininc(M_rear);M_dancer[M_rear]:=i;//排入男队end;end;writeln('跳舞舞伴:');while(F_front<>F_rear)and(M_front<>M_rear)dobegin//依次输出男女舞伴名inc(F_front);//女士出队write(dancer_name[F_dancer[F_front]],'');//打印出队女士名inc(M_front);//男士出队writeln(dancer_name[M_dancer[M_front]]);//打印出队男士名end;

队列应用程序6if(F_front<>F_rear)thenbegin//输出女士剩余人数及队头女士的名字

count:=F_rear-F_front;writeln('还有',count,'位女士等待下一舞曲。');writeln(dancer_name[F_dancer[F_front+1]],'将第一个获得舞伴');//取女队队头

endelsebeginif(M_front<>M_rear)thenbegin//输出男队剩余人数及队头者名字

count:=M_rear-M_front;writeln('还有',count,'位男士等待下一舞曲。');

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论