( 2 ) 本 科 生 导 师 制 问 题 ① 问 题 描 述 在 高 校 的 教 学 改 革 中 , 有 很 多 学 校 实 行 了 本 科 生 导 师 制 。 一 个 班 级 的 学 生 被分 给 几 个 老 师 , 每 个 老 师 带 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 指向同级 的 下 一 结 ...