数据结构实训报告舞伴配对实训


    
    数结构
    实训报告

















    () 应程序名称求··································3

    (二) 应程序体设计目·································3

    (三) 应程序简介···········································3

    (四) 应程序总体结构图代码····························4

    (五) 测试结果··············································10

    (六) 意处··············································14

    (七) 课程设计中存问题··································14

    (八) 设计实践程中体会··································14

    (九) 参考文献··············································14




















    () 应程序名称求
    名称:舞伴问题
        假设周末舞会男士女士进入舞厅时排成队跳舞开 始时次男队女队队头出配成舞伴两队初始数相 较长队中未配者等轮舞曲现求写算法模拟述舞伴配 问题

    (二)应程序体设计目
        先入队男士女士先出队配成舞伴该问题具体典型先进先出特性队列作算法数结构
        算法中假设男士女士记录存放数组中作输入然次扫描该数组元素根性决定进入男队女队两队列构造完成次两队前队头元素出队配成舞伴直某队列变空止时某队等配者算法输出队列中等者数排队头等者名字()轮舞曲开始时第获舞伴

    (三)应程序简介
    整程序做舞伴配问题系统运队列实现初始化入队出队取头判断队列空遍历队列6功数组具全局局部静态动态特定存储属性结构体数组存储信息(姓名身高)队列(头指针first尾指针last计数器count)浪费存储空间假定预分配队列空间100(QueueSize)整程序vc++60环境运行
    (1)初始化队列 initqueue(squeue *p)音乐
    初始条件:队列squeue存
    操作结果:构造空队列squeueP指firstlastcount零
    (2) 建立序队列greatequeue走进舞池
    定义整型total存放跳舞数Total参加舞会数跳舞分成男(mM)女(fF)两队
    (3)入队append()选择舞伴
    功输入跳舞员信息(姓名性)
    (4) 出队 dequeue()开始跳舞
    定义整型 MtmpFtmp时变量记住队头男队女队队头分赋值MtmpFtmp前已定义音乐回合数round3舞池中配三次显示出前跳舞果男队女队空重新排队里while循环表示直跳队伍结束
    (5) 判断队空 empty(squeue *p)查队伍
    查队伍中没继续跳舞
    (6) 取队头gethead(squeue *p)挑选第位舞伴
    取出队头元素
    (7) 遍历队列display(squeue *p)
    序输出数




    (四) 应程序总体设计结构图代码
    开始



    调menu菜单函数


    进入wheil()循环


    输入0~1中数值选择相应操作

    结束


    输入否零?

    调end函数



    调相应函数 完成相应功












    舞伴配问题代码

    #include
    #include
    #include
    #include
    #define maxsize 50
    #define QueueSize 100 假定预分配队列空间100元素

    #define person int

    #define true 1
    #define false 0

    typedef struct Person
    {
    char name[20]
    char sex性f表示女m表示男
    float height
    }Person
    typedef struct squeue
    {
    Person date[QueueSize]
    int first
    int last
    int count
    }squeue

    squeue *Total NULL 总舞池
    squeue *MdancersNULL 男性队列
    squeue *FdancersNULL 女性队列

    int round3 回合数

    int empty(squeue *p)
    void display(squeue *p)

    初始化
    void initqueue(squeue *p)
    {
    p(squeue*) malloc ( sizeof(squeue) )
    if(p NULL)
    {
    p>first0
    p>last0
    p>count0
    }
    else
    {
    printf(memory overflow)
    }
    }

    建立序队列
    int greatequeue(int total)
    {
    int i

    for(i0i {
    if(Total>date[i]sex 'M' || Total>date[i]sex'm')
    {
    Mdancers>last(Mdancers>last+1)maxsize
    Mdancers>date[Mdancers>last]Total>date[i]
    }

    else if(Total>date[i]sex 'F' || Total>date[i]sex 'f')
    {
    Fdancers>last(Fdancers>last+1)maxsize
    Fdancers>date[Fdancers>last]Total>date[i]
    }
    }
    return 1
    }

    入队
    int append()
    {
    int totali
    printf(跳舞\n)
    scanf(d&total)
    if( total > maxsize )
    {
    printf(\n队列长度溢出)
    getch()
    return 0
    }
    else
    {
    printf(\n次输入队列元素值\n)
    getchar()

    for( i 0 i < total i++ )
    {
    printf(请输入姓名)
    Total>last (Total>last +1)maxsize
    scanf(sTotal>date[Total>last]name)
    getchar()
    printf(请输入性)
    scanf(c&Total>date[Total>last]sex)
    printf(sc\n Total>date[Total>last]nameTotal>date[Total>last]sex)
    getchar()
    }
    return total
    }
    }

    出队
    int dequeue()
    {
    int i
    int MtmpFtmp 记住队头

    MtmpMdancers>first
    FtmpFdancers>first

    if(empty(Mdancers))
    {
    printf(Queue is free)
    return 0
    }
    if(empty(Fdancers))
    {
    printf(Queue is free)
    return 0
    }
    else
    {
    display(Mdancers)
    puts(aa)
    display(Fdancers)
    getch()
    for(i0i {
    printf(\n\n\n\t\t第d趟舞曲嘀嘀嘀嘀哩哩哩\ni+1)
    while(1) 直跳队伍结束
    {

    if(Mdancers>last Mdancers>first && Fdancers>last Fdancers>first)
    printf(\t\t前起跳舞:sc<>sc\nMdancers>date[Mdancers>first+1]nameMdancers>date[Mdancers>first+1]sex
    Fdancers>date[Fdancers>first+1]nameFdancers>date[Fdancers>first+1]sex)
    Mdancers>first(Mdancers>first+1)maxsize
    Fdancers>first(Fdancers>first+1)maxsize
    break
    }
    if(Mdancers>first Mdancers>last) 队伍完重新开始
    {
    printf(\t\t男队已完成重新开始\n)
    Mdancers>firstMtmp
    getch()
    }
    else if(Fdancers>first Fdancers>last) 队伍完重新开始
    {
    printf(\t\t女队已完成重新开始\n)
    Fdancers>firstFtmp
    getch()
    }
    }
    getch()
    }
    return 1
    }

    队否空
    int empty(squeue *p)
    {
    if(p>first p>last)
    {
    return 1 队列否空
    }
    return 0
    }

    取队头
    int gethead(squeue *p)
    {
    int val
    if(empty(p))
    {
    printf(Queue is free\n)
    getch()
    return 0
    }
    valp>first+1 maxsize
    printf(s\np>date[val]name)
    getch()
    return 1
    }

    遍历队列
    void display(squeue *p)
    {
    int pos (p>first+1)maxsize
    if( p>first p>last )
    {
    printf(队列中元素\n)
    }
    else
    {
    printf(队列\n)
    while( pos (p>last+1)maxsize )
    {
    printf(姓名:s性:c\np>date[pos]namep>date[pos]sex)
    pos(pos+1)maxsize
    }
    printf(\n)
    printf(头指针位d\np>first)
    printf(尾指针位d\np>last)
    getch()
    }
    }


    (五)测试结果
    界面:


    初始化队列




    输入数

    选择舞伴

    开始跳舞




    挑选第位舞伴

    查队伍


    退出程序

    (六) 意处
    基完成整操作程队列掌握进步加深
    (七)课程设计中存问题
    次程序惜没想法完成没身高问题考虑进程序问题运行功4时候会出现终止程序次调试成功环境运行成功
    (八) 设计实践程中心体会
    次实训基数结构实验课队列模版完成课完整程序参考开始队列操作太成熟出现问题学帮助程序完善
    (九)参考文献
    数结构C语言版 姜梅赵坚编 中国水利水电出版社
    数结构 山东民出版社

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    舞伴配对系统实训报告

    舞伴配对系统本题目设计目的是训练本人的基本编程能力,了解数据结构C++实现系统的开发流程,掌握数据结构和熟悉C++语言的面向对象各种基本操作。本程序中涉及结构体、单链表、类等方面的知识。通过本...

    3年前   
    741    0

    数据结构课程设计舞伴配对程序

    沈阳航空航天大学课 程 设 计 报 告课程设计名称:数据结构课程设计课程设计题目:舞伴配对程序院(系):计算机学院专 业:计算机科学与技术班 级: 学 号:姓 名:指导...

    1年前   
    284    0

    实训6 BIOS设置实训报告

    实训6 BIOS设置实训报告实训内容进行常用的BIOS选项设置,包括系统日期和时间设置、超级用户密码和用户密码的设置、启动设备顺序设置、保存修改、不保存修改等;对照主板说明书和BIOS设置程序...

    4年前   
    1465    0

    经营之道(ERP实训)实训报告

    报告成绩: 教师签名: ...

    3年前   
    1048    0

    实训5 组装微机实训报告

    实训5 组装微机实训报告实训内容按要求进行主板部件组装、主机各部件组装及连接、整机连接。实训要求通过微机的实际组装,熟悉微机的组装顺序,掌握微机组装技术和方法。在组装过程中,逐步填写微机组装进...

    4年前   
    1171    0

    实场营销实训报告

    实场营销实训报告  我们这周上的实训课是市场营销实训。我们小组自实训课开始就一直在一起,这次的实训也不例外,。这次实训的主要目标人群是学生家长及校内学生们。这是个符合我们目前状况的实训,现在的...

    10年前   
    688    0

    windows实训报告

    实训是教学工作的重要环节,是课堂理论教学的检验和延续,是培养学生实践技能的重要场所。通过实训,使学生能够完成企业windows服务器的配置、管理与维护。通过实际操作,使学生掌握一定的操作技能,能...

    3年前   
    2016    0

    实训报告总结

    实训报告总结  我校组织的为期两周的实训马上就要结束了,心中有些不舍,从第一天满怀激动的来到与学校合作的玛世电子商务公司到现在要结束的实训,虽然只有短短两周时间,但我收获很多知识性的东西。以前...

    12年前   
    892    0

    实训报告

    三年的大学即将结束,在基本完成了各个专业的基础课,专业课的学习任务的基础上。进行了为期12周的专业课程实验。在虚拟贸易平台中,同学们都参与扮演进出口业务中的不同当事人,在这个共同组成的贸易环境里...

    5年前   
    1735    0

    护理实训报告

    护理实训报告  学院                                      系部                                      班级      ...

    9年前   
    845    0

    实训报告

    人力资源管理沙盘模拟实验报告                            ——G组 1、企业基本情况 公司名称:创世集团(简称CS)    法人代表:包程程 成立时间:201...

    9年前   
    7849    0

    铣床实训报告

    铣床实训报告  短短两周的金工实习,随着昨天下午最后一节笔试的结束而结束了。在这段时间,我学到了很多东西,见识了许多新奇的工艺,也了解到了技工人员的工作环境。我想这两周的实习将给我以后的工作带...

    11年前   
    1052    0

    物流实训报告

    物流实训报告  物流实训报告  目  录  一、实训内容... 2  二、实训目的... 2  三、实训中遇到的问题... 2  四、三种角色具体流程分析... 3  五、实训感想及心得体会....

    12年前   
    768    0

    实训报告

    实训报告  一、实训时间:  二、实训目的:了解普通车床的工作原理,工作方式、结构特点各部件的用途,并掌握普通车床和立式升降铣床的基本操作。车工对应的机器主要是车床,车床主要由变速箱、主轴箱、...

    8年前   
    659    0

    会计实训报告

    会计实训报告  年级专业班级:  学        号:  姓        名:  提 交  日 期:  一、    实训基本情况  (一)实训时间:2012年9月6日――9月30日  (二...

    10年前   
    708    0

    ERP实训报告

    ERP实训报告  提示:在为期一周的erp实训中我认识和学习到erp系统及在企业运营中的重要性及涉及到的一些跨学科的知识。由此可以了解企业的运营过程、身临其境的进行操作,真正感受一个企业经营者...

    9年前   
    697    0

    实训报告总结

    实训报告总结  历经为期两个星期的实训能力扩展训练,在我们彼此的心目中有着或多或少的感悟!   前个星期的钳工实训使我更加了解到了划线,錾削,锯切,锉削,钻孔,绞孔,刮削等加工过程。同时也发现...

    12年前   
    895    0

    社会实训报告

    社会实训报告 2010年1月,我有幸成为一名在社区工作的人员,在两年多的时间里,使我走向社会,接触社会,了解社会,熟悉社会,投身社会的良好形式,我觉得自己对社会工作专业有了更深一步的了解,让...

    12年前   
    11852    0

    工程测量实训报告

    工程测量实训报告  在XX至XX学年第二学年十五,十六周,我们进行了为期14天的工程测量实习.我们一共分成九个小组,每个小组都配一个女生,可能是担心我们男生心不够细吧,测量开始之后我们小组各有...

    9年前   
    601    0

    动画造型 实训报告

    动画造型 实训报告 实训项目 面部结构 指导教师 张雪松 实训时间 11.5  5~8节 实训地点 实训楼A507 实训目的 了解课程基本内容;讲解面部的基本比例结构。 ...

    11年前   
    12174    0

    文档贡献者

    文***品

    贡献于2021-09-03

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档