授课题目队列的应用——舞伴配对问题授课类型实验课首次授课时间2009年9月30日学时2教学目标1.掌握队列的类型定义方法;2.理解和掌握循环队列解决假溢出的方法,并能灵活运用队列知识对现实生活中的实际问题提出解决方案。重点与难点循环队列判断队满和队空的条件以及循环队列的应用教学手段与方法上机编程、调试并进行验证教学过程:(包括授课思路、过程设计、讲解要点及各部分具体内容、时间分配等)实验内容:利用循环队列模拟舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时。依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。要求:a.假设初始男、女人数及性别已经固定,舞会的轮数从键盘输入,试模拟解决上述舞伴配对问题。b.从屏幕输出每一轮舞伴配对名单,如果在该轮有未配对的,能够从屏幕显示下一轮第一个出场的未配对者的姓名。编程思路:首先建立循环队列的存储结构,为了区分男女队,需要设置两个循环队列,队列中元素的数据类型分别为字符型和整型,然后设计如下函数:ManQueue(Q)和WomanQueue(Q)(建立男人和女人队列)以及PeiDui(Q1,Q2)(舞伴配对),程序描述如下:#include#include#defineMAXQSIZE50typedefstruct{char*base;intfront;intrear;}ManQueue;typedefstruct{int*base;intfront;intrear;}WomanQueue;voidInitManQueue(ManQueue&M,intm){M.base=(char*)malloc(MAXQSIZE*sizeof(char));if(!M.base)exit(0);M.front=M.rear=0;inti;printf("请输入%d个不同的字母代表%d个不同的男生姓名\n",m,m);for(i=0;i