舞伴配对问题c语言实训报告,数据结构-舞伴配对实训.docx
PAGE 10
数据结构
实训报告
实训报告
应用程序名称及要求··································3
应用程序主体、设计目的·································3
应用程序简介···········································3
应用程序的总体结构图及代码····························4
测试结果··············································10
得意之处··············································14
课程设计中存在的问题··································14
设计实践过程中的体会··································14
参考文献··············································14
应用程序名称及要求
名称:舞伴问题??? 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开 始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同, 则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对 问题。
(二)应用程序主体、设计目的??? 先入队的男士或女士亦先出队配成舞伴。因此该问题具体有典型的先进先出特性,可用队列作为算法的数据结构。??? 在算法中,假设男士和女士的记录存放在一个数组中作为输入,然后依次扫描该数组的各元素,并根据性别来决定是进入男队还是女队。当这两个队列构造完成之后,依次将两队当前的队头元素出队来配成舞伴,直至某队列变空为止。此时,若某队仍有等待配对者,算法输出此队列中等待者的人数及排在队头的等待者的名字,他(或她)将是下一轮舞曲开始时第一个可获得舞伴的人。
(三)应用程序简介
整个程序是要做一个舞伴配对问题的系统,运用队列实现初始化,入队,出队,取对头,判断队列为空,遍历队列6个功能。因为数组具有全局或局部,静态或动态的特定存储属性,所以用结构体数组存储人的信息(姓名,些别,身高)以及队列(头指针first,尾指针last,计数器count)。为了不浪费存储空间,假定预分配的队列空间最多为100(QueueSize)。整个程序在vc++6.0的环境下运行。
(1)初始化队列 initqueue(squeue *p)【音乐】
初始条件:队列squeue不存在。
操作结果:构造一个空队列squeue。P指向的first,last,count都为零。
建立顺序队列greatequeue【走进舞池】
定义一个整型total用来存放要跳舞的人数。Total为一个参加舞会的人数。将要跳舞的人分成男(m,M)女(f,F)两队。
(3)入队append()【选择舞伴】
此功能是输入跳舞人员的信息(姓名,性别)。
出队 dequeue()【开始跳舞】
定义整型的 Mtmp,Ftmp临时变量来记住队头,男队和女队的队头分别赋值给Mtmp,Ftmp。在之前已定义音乐的回合数round为3,所以在舞池中只能配对三次,显示出当前跳舞的人。如果男队或女队为空就重新排队。这里的while循环是表示一直跳到有个队伍结束。
判断队空 empty(squeue *p)【查看队伍】
查看队伍中是不是没有人要继续跳舞了。
取队头gethead(squeue *p)【挑选第一位舞伴】
取出队头元素。
遍历队列display(squeue *p)
按顺序输出数据。
应用程序的总体设计结构图及代码
开始
开始
调用menu菜单函数
调用menu菜单函数
进入wheil()主循环
进入wheil()主循环
输入0~1中的一个数值,选择相应操作
输入0~1中的一个数值,选择相应操作
结束
结束
输入是否为零?
输入是否为零?
调用end函数
调用end函数
否
调用相应函数, 完成相应功能
调用相应函数, 完成相应功能
舞伴配对问题代码
#include
#include
#include
#include
#define maxsize 50
#define QueueSize 100 //假定预分配的队列空间最多为100个元素
#define person int
#define true 1
#define
舞伴配对问题c语言实训报告,数据结构-舞伴配对实训.docx相关推荐
- php实训心得体会doc,php实训报告心得体会php实训报告心得体会
php实训报告心得体会php实训报告心得体会Tag内容描述: 1.php实训心得]php心得体会 php实训心得 PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服 ...
- 数据结构c语言课程设计报告,(数据结构c语言课程设计报告.doc
(数据结构c语言课程设计报告 数据结构 课程设计报告 设计题目:迷宫求解 专 业 机电一体化 班 级 08专接本 学 生 学 号 104910252011 指导教师 高在村 完成时间 2011. 5 ...
- 计算机网络技术实训报告大一,计算机网络技术实训报告.doc
文档介绍: 信息工程系 综合实训报告 姓名: XXX 学号: XXXX 专业: 计算机网络技术 实训地点: ...
- 计算机暑期实训报告,计算机专业暑期实训报告总结范文
<计算机专业暑期实训报告总结范文>由会员分享,可在线阅读,更多相关<计算机专业暑期实训报告总结范文(4页珍藏版)>请在人人文库网上搜索. 1.计算机专业暑期实训报告总结范文 计 ...
- 会计计算机综合实训报告,会计综合模拟实训报告_0.doc
会计综合模拟实训报告_0 会计综合模拟实训报告 会计实训报告 一.模拟实训目的: 1.让我们通过运用手工和计算机操作手段,对模拟会计资料进行分岗位综合实训,增强对会计专业知识的理解和感性认识,提高会计 ...
- c语言atm实训报告总体框架图,实训报告-ATM.doc
实训报告-ATM 河南理工大学 计算机科学与技术学院实训报告 2009 - 2010学年第2学期 课程名称 Java编程技术 设计题目 ATM取款机 学生姓名 亢 凯 航 学 号 4109200101 ...
- c语言鸡兔同笼的实训报告的目的,车床实训报告实习目的
车床实训报告实习目的是参加实习的同学需要明确的,以下是车床实训报告实习目的示例,以供赏析和参考借鉴! 车床实训报告实习目的[1] 1.学会在工作中运用课本知识,体验做一个社会人的责任和义务. 2.在顶 ...
- android计算器实训报告总结,大学生计算机实训报告
大学生计算机实训报告 实训是职业技能实际训练的简称,是指在学校控制状态下,按照人才培养规律与目标,对学生进行职业技术应用能力训练的教学过程.小编今天为大家带来大学生计算机实训报告,一起来学习一下吧! ...
- linux实训报告内容摘要,linux实训报告心得
linux实训报告心得 时间:2017/12/2 18:43:00 linux实训报告心得[1] 我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2010,后来又有了xp ...
- 微型计算机系统配置实训报告,微机配置方案设计实训报告2018
WORD 格式 专业资料整理 实训4微机配置方案设计实训报告 针对整机性能需求特点,选择装机所需的主板.CPU .内存条.硬盘.光驱. 实训内容输入/输出设备等部件,确定其品牌.规格.性能指标和单价, ...
最新文章
- html显示三维模型restful,返回带有Flask Restful的呈现模板,在浏览器中显示HTML
- zip压缩报错解决:zip warning: name not matched: xxx/xxx/xxx
- 1 创建一个存储过程,以及对存储过程的调用 MySQL
- 全球及中国特斯拉产业销量预测及投资机遇调研报告2021-2027年
- html媒体查询怎么把颜色换成图片,为网页中图片src添加媒体查询功能。
- python的xpath用法介绍_python爬虫之xpath的基本使用详解
- ProgressBar的小细节,设置style与setIndeterminate()
- python创建虚拟环境_Python学习笔记:创建Python开发Web程序的虚拟环境
- CH340/CH341 Linux驱动编译
- springmvc mybatis shiro springsecurity lucene restful webservice bootstrap html5
- 黄金矿工java实现
- 自定义对象转换接口实现JDBC的封装
- 基于麒麟座开发板2.0的MQTT实现例程
- 燃尽图 (Burn up and Burn down Chart)—介绍
- 期刊类文章左下角添加横线的方法
- 文字识别软件测试初学者,【只要10分钟 快速掌握文字识别】
- kali linux怎么远程桌面,适用于kali linux的远程桌面开启方法(从windows xp 远程登录到kali linux )...
- 【Elixir】 bcrypt_elixir 在 windows 中的 Compile 错误
- arm poky linux,交叉编译iMX6 contex-A9 arm-poky 一些坑
- 我为什么选择考研计算机专硕?