下载此文档

数据结构本科生导师制问题.doc


文档分类:论文 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
计算机科学与技术学院实验课程归档材料规范实验报告一实验课名称:数据结构与程序设计实验实验名称: 本科生导师制问题实验类型: 设计型实验班级: 学号: 姓名: 时间: 一、问题描述在高校的教学改革中,有很多学校实行了本科生导师制。一个班级的学生被分给几个老师,每个老师带 n个学生,如果该老师还带研究生,那么研究生也可直接带本科生。本科生导师制问题中的数据元素具有如下形式: ?导师带研究生(老师,((研究生 1,(本科生 1,…,本科生 m1 )),(研究生 2,(本科生1,…,本科生 m2 ))…)) ?导师不带研究生(老师,(本科生 1,…,本科生 m)) 导师的自然情况只包括姓名、职称;研究生的自然情况只包括姓名、班级; 本科生的自然情况只包括姓名、班级。二、数据结构设计本实验使用的数据结构是广义表,广义表采用头尾链表存储结构来实现。定义教师、学生结点结构体如下: typedef struct GLNode { char name[100]; /*教师或学生的姓名*/ char prof[100]; /*教师结点表示职称,学生结点表示班级*/ int type; /*结点类型: 0-教师, 1-研究生, 2-本科生*/ struct {struct GLNode *hp, *tp;} ptr; /*hp 指向同级的下一结点, tp指向下级的首结点*/ }GList; 人员信息的表示形式为:高老师-教授-0、李刚-二班-1、李明-二班-2. 人员信息中的姓名、职称、班级、人员类型用“-”隔开,如高老师-教授-0, “高老师”表示姓名,“教师”表示职称,“0”表示人员的类型是教师;李刚- 二班-1,“李刚”表示姓名,“二班”表示班级,“1”表示人员的类型是研究生; 李明- 二班-2,“李明”表示姓名,“二班”表示班级,“2”表示人员的类型是本科生。广义表((高老师-教授-0,(李明-一班-2,王平-二班-2)),(李老师-副教授-0, (白梅-二班-1,(李刚-一班-2)))可以用图 3表示。图3导师制用广义表实现示例三、算法设计建立:建立导师广义表。 GList InitGList(){ GList L=NULL, *l; GList e; e=InitGLNode("teacherli", "fujiaoshou", 0); InsertFirst_GL(&L, e); e=InitGLNode("teachergao", "jiaoshou", 0); InsertFirst_GL(&L, e); l=&((L->ptr).tp); e=InitGLNode("wangping", "erban", 2); InsertFirst_GL(l, e); e=InitGLNode("liming", "yiban", 2); InsertFirst_GL(l, e); l=&((((L->ptr).hp)->ptr).tp); e=InitGLNode("baimei", "erban", 1); InsertFirst_GL(l, e); l=&(((*l)->ptr).tp); e=InitGLNode("ligang", "yiban", 2); InsertFirst_GL(l, e); return L; }插入:将某位本科生或研究生插入到

数据结构本科生导师制问题 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小142 KB
  • 时间2017-04-23