《数据结构》课程设计_第1页
《数据结构》课程设计_第2页
《数据结构》课程设计_第3页
《数据结构》课程设计_第4页
《数据结构》课程设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程设计题目1一元多项式计算题目2迷宫求解题目3翻牌游戏题目4作业调度姓名班级计科(1)班学号200310610题目1一元多项式计算1需求分析1)、能够按照指数降序排列建立并输出多项式;2)、能够完成两个多项式的相加、相减,并将结果输入。2算法描述分析任意一元多项式的描述方法可知,一个一元多项式的每一个子项都是由“系数指数”两部分来组成的,所以可以将它抽象成一个由“系数指数对”构成的线形表,由于对多项式中系数为0的子项可以不记录它的指数值,对于这样的情况就不再付出存储空间来存放它了。基于这样的分析,我们可以采用一个带有头结点的单链表来表示一个一元多项式。(1)具体数据类型如下TYPEDEFSTRUCTNODEFLOATCOEF/系数域INTEXPN/指数域STRUCTNODENEXT/指针域,指向下一个系数不为0的子项POLYNODE(2)输入并建立多项式的功能模块要求按照指数递减的顺序和一定的输入格式输入各个系数不为0的子项的“系数指数对”,输入一个子项建立一个相关结点,当遇到输入结束的标志的时候就停止输入,而转去执行程序的下面部分。例如POLYNODECREATE_POLYCHARCH/输入多项式POLYNODEP,S,RFLOATXINTYPPOLYNODEMALLOCSIZEOFPOLYNODEPNEXTNULLPRINTF“请输入一元多项式C格式系数指数,指数递减,以00结束N“,CHSCANF“FD“,WHILEX0SPOLYNODEMALLOCSIZEOFPOLYNODESCOEFXSEXPNYSNEXTNULLIFPNEXTNULLPNEXTSRSELSERNEXTSRSSCANF“FD“,RETURNP(3)多项式相加的功能模块此模块根据在(1)中建立的两个多项式进行相加的运算,并存放在以C为头指针的一个新链表中。POLYNODEADD_POLYPOLYNODEF,POLYNODEG/多项式相加POLYNODEFGPOLYNODET,Q,S,RFLOATMTFNEXTQGNEXTFGRPOLYNODEMALLOCSIZEOFPOLYNODEFGNEXTNULLWHILETIFM0/系数为不0时加到结果中去SPOLYNODEMALLOCSIZEOFPOLYNODESCOEFMSEXPNTEXPNSNEXTNULLTTNEXTQQNEXTELSE/指数小的加到结果中去再后移IFTEXPNEXPNSPOLYNODEMALLOCSIZEOFPOLYNODESCOEFTCOEFSEXPNTEXPNSNEXTNULLTTNEXTELSESPOLYNODEMALLOCSIZEOFPOLYNODESCOEFQCOEFSEXPNQEXPNSNEXTNULLQQNEXTIFFGNEXTNULLFGNEXTSRSELSERNEXTSRS/WHILERNEXTTTQ/把没加完的接上RETURNFG(4)多项式显示的功能模块此模块用于多项式的显示,程序可以使用图形界面,通过调整指数应该出现的坐标位置来表示指数形式,如X2X23X100;也可以使用文本界面,用“系数指数对”的形式表示表达式,如1,1,2,2,3,100。本程序采用第一种方式,如下VOIDOUT_POLYPOLYNODEF/输出多项式POLYNODETTFNEXTIFFNEXTPRINTF“0N“RETURNWHILETIFTCOEF0IFTEXPN0PRINTF“F“,TCOEFELSEPRINTF“FXD“,TCOEF,TEXPNTTNEXTPRINTF“N“3运行结果题目2迷宫求解1需求分析可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出。2算法描述(1)输出相关参数FORCHARCHYCHY|CHYCINCHINTM,N,PRECCOUTMM50|MMCOUTNN50|NNCOUTPRECPREC100|PRECPRECCOUTSTARTROWSTARTCOLCOUTENDROWENDCOLCOUTSSTACKSIZESBASESTRUCTRESEACH_MAZEREALLOCSBASE,102SIZEOFSTRUCTRESEACH_MAZESTOPSBASE100SSTACKSIZE2STOPEVOIDPOPSTRUCTSSTACKBOOLEMPTYSTACKSTRUCTSSTACKS/栈是否空RETURNSTOPSBASEVOIDFOOTPRINTINTAMMNN,STRUCTPOSTYPEPOST/留足迹APOSTROWPOSTCOL6STRUCTPOSTYPENEXTPOSSTRUCTPOSTYPEPOST,INTI/当前位置CURPOS的下一位置SWITCHICASE1POSTCOLBREAKCASE2POSTROWBREAKCASE3POSTCOLBREAKDEFAULTPOSTROWRETURNPOSTVOIDMARKPRINTINTAMMNN,STRUCTPOSTYPEPOST/留死胡同标记APOSTROWPOSTCOL4BOOLMAZEPATHSTRUCTSSTACKINTCURSTEP1STRUCTRESEACH_MAZEEINITSTACKSCURPOSSTARTDOIFACURPOSROWCURPOSCOLFOOTPRINTA,CURPOSEDIRE1EORDCURSTEPESEATCURPOSPUSHS,EIFCURPOSCOLENDCOLCURPOSNEXTPOSCURPOS,1CURSTEPELSEIFEMPTYSTACKSPOPS,EWHILEEDIRE4POPS,EIFEDIRE0PRINTF“DN“,AI/输出牌号/4运行结果题目4作业调度1需求分析一个公司的职员可分为经理、部门主管和职工。公司的服务支持由一个共同的秘书处承担,每一个职员都可以提出服务请求(诸如企划及建议、指示及批复等),只要填写一张包括该职员的职位、任务号、任务内容的表格即可。这张表格内的信息存储在一个作业请求记录JOBREQUEST队列中,并根据时间将作业加入到对应的优先级队列中。初始作业队列存放于一个作业队列文件中,作业队列文件中存放有一批将被加入到优先级队列的作业。每个作业请求都以记录的形式存放在“JOBDAT”文件中。记录中记载着职员的职位、作业标识号和工作时间。所有作业在读入后都加入到一个名为“JOBPOOL作业池”的优级队列中,然后,按其所具有的优先级逐个进行处理,并将处理结果打印出来。程序最后打印为每一类人的总服务时间。2算法描述(1)定义一个结构体STRUCTJCBCHARNAME10/作业名/CHARSTATE/作业状态/INTTS/提交时间/FLOATSUPER/优先权/INTTB/开始运行时间/INTTC/完成时间/FLOATTI/周转时间/FLOATWI/带权周转时间/INTNTIME/作业所需运行时间/CHARRESOURCE10/所需资源/STRUCTJCBLINK/结构体指针/P,Q,HEADNULLTYPEDEFSTRUCTJCBJCB(2)初始化结构体VOIDINITALINTIPRINTF“NINPUTJCBNUMN“SCANF“D“,PRINTF“INPUTNNAMETTSTNTIMETRESOURCEN“FORI0INAME,PSTATEWPLINKNULLIFHEADNULLHEADQPELSEQLINKPQP(3)打开文件函数VOIDFILEINPUTFILEFPINTIIFFPFOPEN“OS2TXT“,“R“NULLPRINTF“OPENERROR“FSCANFFP,“DN“,FORI0INAME,PSTATEWPLINKNULLIFHEADNULLHEADQPELSEQLINKPQPFCLOSEFP(4)打印作业信息VOIDPRINTJCBPR,INTMJCBPPRINTF“NTIMED“,TIMEIFM3PRINTF“NNAMETSTATETTSTNTIMETSUPERTSOURCETTBTTCTTITWIN“PRINTF“STCTDTDT42FTSTDTDT42FT42FN“,PRNAME,PRSTATE,PRTS,PRNTIME,PRSUPER,PRRESOURCE,PRTB,PRTC,PRTI,PRWIELSEPRINTF“NNAMETSTATETTSTNTIMETSOURCETTBTTCTTITWIN“PRINTF“STCTDTDTSTDTDT42FT42FN“,PRNAME,PRSTATE,PRTS,PRNTIME,PRRESOURCE,PRTB,PRTC,PRTI,PRWIPHEADDOIFPSTATEWIFM3PRINTF“STCTDTDT42FTSN“,PNAME,PSTATE,PTS,PNTIME,PSUPER,PRESOURCEELSEPRINTF“STCTDTDTSN“,PNAME,PSTATE,PTS,PNTIME,PRESOURCEPPLINKWHILEPNULLPHEADDOIFPSTATEFIFM3PRINTF“STCTDTDT42FTSTDTDT42FT42FN“,PNAME,PSTATE,PTS,PNTIME,PSUPER,PRESOURCE,PTB,PTC,PTI,PWIELSEPRINTF“STCTDTDTSTDTDT42FT42FN“,PNAME,PSTATE,PTS,PNTIME,PRESOURCE,PTB,PTC,PTI,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论