《数据结构》课程设计报告-目录及正文.docVIP

《数据结构》课程设计报告-目录及正文.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目 录 1 问题描述 1 2 需求分析 1 3 概要设计 1 3.1抽象数据类型定义 1 3.2模块划分 2 4 详细设计 3 4.1数据类型的定义 3 4.2主要模块的算法描述 3 5 测试分析 5 6 课程设计总结 6 参考文献 6 附录(源程序清单) 7 typedef struct { char S_name[31]; //学生姓名 char S_number[16]; //学生学号 char sex[8]; //性别 int D_number; //学生所在寝室的宿舍号 int Total; //学生总数 }Student[M],St; 3. 2本程序所包含的16 个函数为: (1).主函数main(); (2).菜单函数Menu(); (3).判断学号是否重复函数S_number_Judge(Student S,int t); (4).添加学生信息函数Add(Student S); (5).修改学生信息函数Alter(Student S); (6).删除学生信息函数Delete(Student S); (7).显示所有学生信息函数Display_All(Student S); (8).按照寝室号从小到大排序函数Sort_D_number(Student S); (9).按姓名从小到大排序函数Sort_S_name(Student S) (10).按照学号从小到大排序函数Sort_S_number(Student S); (11).根据学生姓名查找函数Query_S_name(Student S); (12).根据学生学号查找函数Query_S_number(Student S); (13).根据寝室号查找函数Query_D_number(Student S) (14).存储函数Save(Student S); (15).加载函数Load(Student S); (16).判断在退出程序时是否保存函数Judge_Save(int i,Student S); 3. 3函数间关系: 利用主函数调用其他的各个函数。添加数据纪录函数Add(),删除数据信息函数 Delete (),修改函数Alter ()这些函数都是在同一等级上的函数,是平行关系。按宿舍号,姓名,学号排序函数 Sort_D_number (),Sort_S_name (),Sort_S_numbe ();这些函数都是排序函数中的子函数,他们之间是平行的关系。按宿舍号,姓名,学号查询函数 Query_D_number(),Query_S_name(), Query_D_number(),是查询函数的子函数,他们之间是平行关系。 4 详细设计 4.1数据类型的定义 (1)迷宫类型 #define M 6 #define N 8 int maze[M+2][N+2]; (2)栈类型 (3)队列类型 4.2主要模块的算法描述 (给出主要模块的算法描述,用流程图或伪代码表示,若用流程图表示,请注意:①图与表以章节组编号。如图表示第章的第幅图。图与表应有相应的,图表编号与图表名称之间空一个字的位置如“图2.1 实验系统流程示意图”。主函数 void main() {int x,maze[M+2][N+2]={{1,1,1,1,1,1,1,1,1,1},{1,0,1,1,1,0,1,1,1,1}, {1,1,0,1,0,1,1,1,1,1},{1,0,1,0,0,0,0,0,1,1}, {1,0,1,1,1,0,1,1,1,1},{1,1,0,0,1,1,0,0,0,1}, {1,0,1,1,0,0,1,1,0,1},{1,1,1,1,1,1,1,1,1,1}}; /*构造一个迷宫*/item move[8]={0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1}; /*坐标增量数组move的初始化*/while(1) {printf(1 迷宫求解(采用栈实现)\n 2 迷宫求解(采用队列实现)\n 3 退出\n); …… (2)利用栈实现迷宫求解int mazepath_stack(int maze[M+2][N+2],item move[8]) /*若迷宫maze中存在从入口(1,1)到出口(M,N)的通道,则求得一条存放在栈中,并返回1;否则返回0*/ {(3)栈的操作 void InitStack(SqStack *s) /*栈的初始化*/ {} int StackEmpty(SqStack s) /*判栈空*/ {} …… 另一个同学的报告中4.2就为: 该题主要分为两步:(1)利用栈实现迷宫求解;(2)利用队列实现迷宫求解。该题由我和XX同学合作完成,我主要负责:(2)利用队列实现

文档评论(0)

飞扬的岁月 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档