1、 数据结构课程设计报告 教学计划编制问题 内部排序算法的性能分析 学院(系) : 数学与统计学院 班 级: 学生姓名: 学 号: 指导教师: 时时 间:间: 从从 2011 年年 12 月月 31 日日 到到 2012 年年 1 月月 6 日日 2 一、课程设计概述:一、课程设计概述: 本次数据结构课程设计共完成二个题:a.教学计划编制问题 b.内部排序算法的性能分析 使用语言:C 编译环境:TC3.0 / VC6.0 二、课程设计题目一二、课程设计题目一 实验内容实验内容 教学计划编制问题教学计划编制问题 问题描述问题描述 答学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学
2、年含两学期, 每学期的时间长度和学分上限值均相等。 每个专业开设的课程都是确定的, 而且课程在开设 时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可 以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序 需求分析需求分析 (1) 输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占 3 位的字母数字串) 、学分和直接先修课的课程号。 (2) 允许用户指定下列两种编排策略之一: 一是使学生在各学期中的学习负担尽 量均匀;二是使课程尽可能地集中在前几个学期中。 (3) 若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用
3、户指定的文件中。计划的表格格式自行设计。 概要设计概要设计 md init() /*初始化教学计划初始化教学计划*/ void select (int quee,int i,int j,md a) /*使课程集中在前面使课程集中在前面*/ void arrage(md a) /*教学计划函数教学计划函数*/ 流程图流程图 3 详细设计详细设计 #include #include #define NULL 0 #define maxsize 100 typedef struct stu int number; int score; struct stu *next; node; typedef
4、struct int vex_num; int vex_sco; int have; node *first; sd; typedef struct 初始化教学 课 程 数 学 期 数 学 分 上 限 输入后续课程 教 学 计 划 函数 4 sd arrymaxsize; int max_class; int max_term; int score_limit; md; md init() int i,x,c; md a; node *p; printf(“enter class total:“); scanf(“%d“, printf(“enter term total:“); scanf(
5、“%d“, printf(“enter score limit:“); scanf(“%d“, printf(“enter class arrange n“); for (i=1;inumber=a.arryi.vex_num; p-next=a.arryx.first; a.arryx.first=p; c+; while(x0); a.arryi.have=c; 5 return a; /*void disp(md a) node *p; int i; for (i=1;inumber.vex_num); p=p-next; printf(“n“); */ void select (int
6、 quee,int i,int j,md a) int k,temp,min; min=i; for(k=i+1;knumber.have=0) quee+bare=a.arryp-number.vex_num; p=p-next; else total_score=0; printf(“ n%d term study:“,j+); main() md h; h=init(); arrage(h); 调试分析调试分析 问题问题: 现象现象:最后结果存在问题,无法提供内存 原因原因:函数的参数没有写正确:函数的参数没有写正确 7 : 运行结果及分析运行结果及分析 课程设计题目课程设计题目二二 实验内容实验内容 内部排序算法的性能分析内部排序算法的性能分析 问题描述问题描述 。设计