数据结构课程设计内容

项目一  计算机设计大赛赛事统计

【问题描述】
        参加计算机设计大赛的n个学校编号为1~n,赛事分成m个项目,项目的编号为1~m.比赛获奖按照得分降序,取前三名,写一个统计程序产生各种成绩单和得分报表。

【基本要求】
1)每个比赛项目至少有10支参赛队;每个学校最多有6支队伍参赛;
2)能统计各学校的总分;
3)可以按照学校编号或名称查询,学校的总分、各项目的总分排序输出;
4)可以按学校编号查询学校某个项目的获奖情况;可以按项目编号查询取得前三名的学校;
5)数据存入文件并能随时查询

【设计要求】
1)输入数据形式和范围:可以输入学校的名称,赛事项目的名称。
2)输出形式:有中文提示,各学校分数为整数
3)界面要求:交互设计要合理,每个功能可以设立菜单,根据提示,完成相关功能的要求。
4)存储结构:学生自己根据系统功能要求自己设计,但是赛事相关数据要存储在文件中。

【测试数据】
  要求使用全部合法数据,整体非法数据,局部非法数据。进行程序测试,以保证程序的稳定。

【实现提示】
  假设3<赛事项目数量<=10,学校名称长度不超过20个字符。每个赛事结束时,将其编号、名称输入,并依次输入参赛学校编号、学校名称和成绩。

项目二  校园导游咨询

【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。

【基本要求】
(1) 设计你所在学校的校园平面图,所含景点不少于10个.以图中顶点表示校内各景点,存放景点名称、代号、简介  等信息;以边表示路径,存放路径长度等相关信息。
  (2)  为来访客人提供图中任意景点相关信息的查询。
(3) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。

【测试数据】
以江苏科技大学长山校区为例。

【实现提示】
一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网,顶点和边均含有相关信息.

项目三  算术表达式求解

【问题描述】 设计一个简单的算术表达式计算器。

【基本要求】 实现标准整数类型的四则运算表达式的求值(包含括号,可多层嵌入).

【测试数据】 (30+2*70)/3-12*3 5+(9*(62-37)+15)*6

  要求自行设计非法表达式,进行程序测试,以保证程序的稳定运行。

【实现提示】 可以设计以下辅助函数

status isNumber(char ReadInChar);   //视ReadInchar 是否是数字而返回 TRUE 或 FALSE 。 int TurnToInteger(char IntChar);            // 将字符’0’.’9’ 转换为整数 9

算术表达式解题思路

1、首先判断算式的优先级:先乘除->后加减->从左到右->先括号内->后括号外

2、再创造一个calculate函数,计算表达式,分别写加法:op1+op2;减法:op1-op2;乘法:op1*op2;除法:op1/op2

3、创建一个栈,来存储运算符

4、初始化入栈和出栈,并将表达式起始符“#”压入栈

5、首先扫描输入的表达式,读入第一个字符:

        (1)若此字符不是运算符,则压入栈,读取下一个字符;

        (2)若此字符是运算符,则判断栈顶元素和此字符的优先级比较结果:

                1)小于,则压入栈,读取下一个字符;

                2)大于,则跳出栈顶的运算符;

                3)等于,则栈顶元素是“(”,此字符就是“)”,相当于匹配成功,最后读取下一个字符。

        (3)所以最后出栈的栈顶元素为表达式的结果,返回此元素。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这个是我亲手所做的数据结构课程设计,完成了: 实验一 单链表的定义和应用 实验要求: 1.用单链表存储结构定义线性表 2.实现单链表基本操作(5个基本操作:构造,销毁,插入,删除, 取指定数据元素) 3.用单链表实现两个集合的合并或者一元多项式的 实验二 栈的定义和应用 实验要求: 1.定义栈的存储结构和基本操作 2.实现栈的表达式求值(优)和()(良)匹配 实验三 特殊矩阵的压缩存储 实验要求: 能对对称矩阵和对角矩阵进行压缩存储 具体如下: 1. 能用一维数组根据矩阵中非零元素进行压缩存储 2. 能根据非零元素和对于重复元素只输入一次时要求能够构造出矩阵 3. 输入任意合法的行列下标能够得到它在矩阵中对应的值 4. 能够把矩阵用完整的格式加以输出 5. 要求矩阵阶数(>=4)阶 实验四 二叉树的遍历 实验要求: 1.能够用二叉链表定义一个二叉树存储结构 2.能够实现二叉树的构造,销毁,先序,中序,后序遍历 3.能够实现一个基于二叉树遍历实现一个算法操作 4.实验过程中应用递归 实验五 图的应用 实验要求: 1.用邻接矩阵或者邻接表定义图的应用 2.实现图的基本操作: 构造,销毁 广度,深度优先搜索 图的打印 3.图的应用: 最小生成树 有向无环图的拓扑排序 有向无环图的关键路径 注意:图的应用中是实现三个操作的任意一个。 实验六 查找 实验要求: 1.定义一个顺序存储的有序表 2.有序表折半查找 对给出查找结果的同时,输出查找过程中和关键字比较的次数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值