会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

数据结构实验报告.doc

  • 资源星级:
  • 资源大小:4.00MB   全文页数:36页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

数据结构实验报告.doc

数据结构实验报告实验一线性表实验1、约瑟夫问题求解一.问题描述设有编号为1,2,,n(n0的个人围成一个圈,每个人持有一个密码m。从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。二.基本要求(1)建立模型,确定存储结构(2)对任意n个人,密码为m,实现约瑟夫问题(3)出圈次序依次输出三.本实验用到的理论知识该实验主要要求用线性表完成一些具体问题的应用,在实验中需用到顺序表的定义,循环单链表的建立以及节点类型的选择等问题,将用到模板函数LinkList,其中各头文件的定义如下顺序表结点类型templatestructNode{Tdata//存放个人的编号Nodenext//存放个人的密码}单链表结点类型单链表Node.htemplatestructNode{Tdata//存放个人的编号Tcode//存放个人密码Nodenext}单链表模板include单链表Node.htemplateclassLinkList{publicNodefirstLinkListTa,Tb,intn{firstnewNodefirstdataa0firstcodeb0Noderfirst,sforinti1isdataaiscodebirnextsrs}rnextfirst}//建立有n个元素的单链表}四.主要算法(1)顺序表存储时A、m相同voidJosephusinta,intn,intm{ints0//length表示表长cout2length//表示每次减一{ssm1lengthcoutdata,intn,intm{ints0,k//k用于保存出圈人的密码cout2length{iflengthnssm1lengthelsessk1lengthkdatas.nextdatacoutdatad,intm{Nodepdfirst,pre,lastdfirstintcountcoutnextdfirstlastlastnextwhilepnextp{countmifcount1{coutnextdeleteprelastnextp}else{whilecount{prepppnext}coutnextpnextdeleteppprenext}}coutd,intm{Nodep,pre,lastdfirstintcodempdfirstcoutnextdfirstlastlastnextwhilepnextp{ifcode1{coutnextpnextcodepcodedeletepplastnext}else{whilecode{prepppnext}coutcodeprenextpnextdeleteppprenext}}cout0和出圈人的序号mm0nmwhilen100||n0nm}coutdata100,code100cout0和初始的报数上限mm0nmwhilen100||nnm}forinti0i0和出圈人的编号mm0nmwhilen100||n0和出圈人的编号mm0nm}forinti0idataa,b,nJosephusdata,m}B、m不同voidmain{inta100,b100,m,ncout0和初始出队数mm0nmwhilen100||n0和初始出队数mm0nm}forinti0idataa,b,nJosephusdata,m}六、运行结果(1)顺序表实现A、m相同B、m不同(2)单链表实现A、m相同B、m不同2、一元代数多项式求和一、结点类型PNode.htemplatestructPNode{TcoefTexpPNodenext}二、链表定义LinkList.hincludePNode.htemplateclassLinkList{publicPNodefirstLinkListTa,Tb,intn}templateLinkListLinkListTa,Tb,intn{firstnewPNodePNoderfirst,sforinti0iscoefaisexpbirnextsrs}rnextNULL}三、主函数实现includeincludeLinkList.hLinkListAddLinkListA,LinkListB{PNodepre,qre,p,q,vpreAfirstpprenextqreBfirstqqrenextwhilepq{ifpexpexp{prepppnext}elseifpexpqexp{vqnextprenextqqnextpqv}else{pcoefpcoefqcoefifpcoef0{prenextpnextdeleteppprenext}else{prepppnext}qrenextqnextdeleteqqqrenext}}ifqprenextqdeleteBfirstreturnA}voidSortLinkListA//将链表按升序排序{PNodep,q,r,sifAfirstnextAfirstnextnext{sAfirstnextqsnextwhileq{rAfirstprnextwhilepexpexp{rpppnext}else{qqnextsnextnextprnextsnextsnextqbreak}ifpq{sqqqnext}}}}voidmain{inta1100,b1100,a2100,b2100,c1200,c2200intn1,n2coutn1whilen1100

注意事项

本文(数据结构实验报告.doc)为本站会员(21ask)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5