1、 课 程 设 计 报 告 课程名称课程名称 数据结构数据结构 课题名称课题名称 双链表创建演示双链表创建演示 专专 业业 计算机科学与技术计算机科学与技术 班班 级级 学学 号号 姓姓 名名 指导教师指导教师 1 课 程 设 计 任 务 书 课程名称 数据结构 课 题 双链表创建演示 专业班级 学生姓名 学 号 指导老师 审 批 2 1 1 设 计 内容 与设计要求设 计 内容 与设计要求 1.11.1 设计内容设计内容 1.1.1 1.1.1 算术算术 2424 游戏演示游戏演示 由系统随机生成4张扑克牌, 用户利用扑克牌的数字及运算符号 “+” 、“” 、 “*” 、 “/”及括号“ (”
2、和“) ”从键盘上输入一个计算表达式,系统运行后得 出计算结果,如果结果等于 24,则显示“Congratulation!” ,否则显示 “Incorrect!” 设计思路: 从键盘输入中缀表达式, 然后将中缀表达式转换为后缀表达式, 利用后缀表达式求值。 1.1.2 1.1.2 迷宫探索迷宫探索 随机生成一个迷宫图,迷宫大小为 N*N,N 预定义为常数,修改 N 的值可 以改变迷宫的大小。用白色表示可走的路,蓝色表示墙壁不可以通过。系统设 计两种运行方式:一种是系统自动探索(用递归方法实现) ;另一种是由人工 操作探索通路。 设计思路:程序首先要考虑迷宫的表示,这是一个二维关系图,所以可选
3、择二维数组来存储。数组元素只有两种值 0 和 1,分别代表通路和墙壁。图形 的显示可以根据数组元素的值来确定。如果是人工探索,则依据按键来确定探 索物的位置坐标,利用循环语句实现。如果是系统自动探索,可采用递归算法 实现。 1.1.3 1.1.3 二叉树遍历演示二叉树遍历演示 演示遍历二叉树的过程, 所以首先建立二叉树, 并用图形显示出树的形状。 建立的过程是采用前序便利的方法来创建,设计两种生成树的方式:一种是系 统随机生成,另一种是人工输入。考虑到屏幕界面的有限性,限定二叉树不超 过 5 层,最多 26 个字符,输入字符小数点“.”代表 NULL。初始树为某种颜色 的结点,三种情况的遍历采
4、用填充另外一种醒目的颜色,来表示当前遍历的结 点,同时显示该结点的访问序号。同时在遍历的过程中在遍历图形的下方显示 出遍历序列。 1.1.4 1.1.4 数组应用数组应用 按照行优先顺序将用户随机输入的数据建成2维数组并以图形方式逐步显 3 示出来,然后再按照列优先顺序以图形方式逐步输出相应数组。 1.1.5 1.1.5 拓扑排序演示拓扑排序演示 演示拓扑排序的过程。按照有向图给出的次序关系,将图中顶点排成一个 线性序列,对于有向图中没有限定次序关系的顶点,则可以人为加上任意的次 序关系。要求每输出一个顶点后就演示从图中删去此顶点以及所有以它为尾的 弧。 1.1.6 1.1.6 图的图的遍历遍历 演示图的深度优先, 广度优先遍历过程,并输出原图结构及遍历结果。要 求图的结点数不能少于 6 个。可以由系统随机生成图,也可以由用户手动输入 图。报告中要写出画图