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相关推荐

  1. php实训心得体会doc,php实训报告心得体会php实训报告心得体会

    php实训报告心得体会php实训报告心得体会Tag内容描述: 1.php实训心得]php心得体会 php实训心得 PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服 ...

  2. 数据结构c语言课程设计报告,(数据结构c语言课程设计报告.doc

    (数据结构c语言课程设计报告 数据结构 课程设计报告 设计题目:迷宫求解 专 业 机电一体化 班 级 08专接本 学 生 学 号 104910252011 指导教师 高在村 完成时间 2011. 5 ...

  3. 计算机网络技术实训报告大一,计算机网络技术实训报告.doc

    文档介绍: 信息工程系 综合实训报告 姓名:                XXX 学号:            XXXX 专业:          计算机网络技术 实训地点:             ...

  4. 计算机暑期实训报告,计算机专业暑期实训报告总结范文

    <计算机专业暑期实训报告总结范文>由会员分享,可在线阅读,更多相关<计算机专业暑期实训报告总结范文(4页珍藏版)>请在人人文库网上搜索. 1.计算机专业暑期实训报告总结范文 计 ...

  5. 会计计算机综合实训报告,会计综合模拟实训报告_0.doc

    会计综合模拟实训报告_0 会计综合模拟实训报告 会计实训报告 一.模拟实训目的: 1.让我们通过运用手工和计算机操作手段,对模拟会计资料进行分岗位综合实训,增强对会计专业知识的理解和感性认识,提高会计 ...

  6. c语言atm实训报告总体框架图,实训报告-ATM.doc

    实训报告-ATM 河南理工大学 计算机科学与技术学院实训报告 2009 - 2010学年第2学期 课程名称 Java编程技术 设计题目 ATM取款机 学生姓名 亢 凯 航 学 号 4109200101 ...

  7. c语言鸡兔同笼的实训报告的目的,车床实训报告实习目的

    车床实训报告实习目的是参加实习的同学需要明确的,以下是车床实训报告实习目的示例,以供赏析和参考借鉴! 车床实训报告实习目的[1] 1.学会在工作中运用课本知识,体验做一个社会人的责任和义务. 2.在顶 ...

  8. android计算器实训报告总结,大学生计算机实训报告

    大学生计算机实训报告 实训是职业技能实际训练的简称,是指在学校控制状态下,按照人才培养规律与目标,对学生进行职业技术应用能力训练的教学过程.小编今天为大家带来大学生计算机实训报告,一起来学习一下吧! ...

  9. linux实训报告内容摘要,linux实训报告心得

    linux实训报告心得 时间:2017/12/2 18:43:00 linux实训报告心得[1] 我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2010,后来又有了xp ...

  10. 微型计算机系统配置实训报告,微机配置方案设计实训报告2018

    WORD 格式 专业资料整理 实训4微机配置方案设计实训报告 针对整机性能需求特点,选择装机所需的主板.CPU .内存条.硬盘.光驱. 实训内容输入/输出设备等部件,确定其品牌.规格.性能指标和单价, ...

最新文章

  1. html显示三维模型restful,返回带有Flask Restful的呈现模板,在浏览器中显示HTML
  2. zip压缩报错解决:zip warning: name not matched: xxx/xxx/xxx
  3. 1 创建一个存储过程,以及对存储过程的调用 MySQL
  4. 全球及中国特斯拉产业销量预测及投资机遇调研报告2021-2027年
  5. html媒体查询怎么把颜色换成图片,为网页中图片src添加媒体查询功能。
  6. python的xpath用法介绍_python爬虫之xpath的基本使用详解
  7. ProgressBar的小细节,设置style与setIndeterminate()
  8. python创建虚拟环境_Python学习笔记:创建Python开发Web程序的虚拟环境
  9. CH340/CH341 Linux驱动编译
  10. springmvc mybatis shiro springsecurity lucene restful webservice bootstrap html5
  11. 黄金矿工java实现
  12. 自定义对象转换接口实现JDBC的封装
  13. 基于麒麟座开发板2.0的MQTT实现例程
  14. 燃尽图 (Burn up and Burn down Chart)—介绍
  15. 期刊类文章左下角添加横线的方法
  16. 文字识别软件测试初学者,【只要10分钟 快速掌握文字识别】
  17. kali linux怎么远程桌面,适用于kali linux的远程桌面开启方法(从windows xp 远程登录到kali linux )...
  18. 【Elixir】 bcrypt_elixir 在 windows 中的 Compile 错误
  19. arm poky linux,交叉编译iMX6 contex-A9 arm-poky 一些坑
  20. 我为什么选择考研计算机专硕?

热门文章

  1. 什么是强制性3C认证?
  2. dos命令查看电脑配置
  3. 带你Dart带你Diao之类(二)
  4. mysql 安装失败原因大全(diao ,基本都让我给踩了个遍,这运气...)
  5. U盘安装完kali后内存变小的言diao(无图)博客
  6. android 添加字幕,手机视频加字幕app 怎样用安卓手机在视频画面加文字字幕
  7. matlab 矩阵平方怎么表示,MATLAB中如何输x的平方
  8. 利用MATLAB进行shp文件转换并绘制断层线
  9. 方差递推公式_常见递推公式(数学)
  10. 引入高速缓存的目的_计算机中高速缓存的作用?