赛事管理系统(数据结构课程设计)

首先,先定义一个结构体Team来表示参赛队伍,包含

参赛队编号TeamID

参赛作品名称workname

参赛学校school

赛事类别eventCate

参赛者participants

指导老师teachers等基本信息

然后,定义一个二叉排序树的结点结构体TreeNode

接着,打开参赛队伍的文件,用teamsall储存从txt文档中提取到的信息,使用getline函数逐行读取,然后再用while循环,遇到#后停止,然后将数据导入到vector类型的items当中,如果items当中的函数有六个元素,那么元素就一个一个插入到a当中,再将a插入到teamsall和二叉排序树当中。

设置函数addteam()和deletefile(),revise(),其中revise()函数是对文件进行操作,addteam()向文件中插入新的数据,deletefile()是删除指定元素,revise()函数是修改指定的元素,而addteam2()和deleteteam(),还有reworkteam()函数是对vector类型变量进行操作,addteam2()是向vector中加入Team类型的变量,而deleteteam()便是删除指定元素,reworkteam()是修改指定的vector类型的变量。

插入排序的查询输出(根据学校名称查询)可以选择按参赛学校查询,进行遍历全部的数据来寻找符合条件的参赛团队;或者按赛事类别查询,使用teamID容器根据数据的键值查找符合条件的参赛团队,当按赛事类别查询时,可以使用插入排序算法将参赛团队按赛事类别先排序后输出结果。

然后,在函数外面创建13个决赛区,读取赛事组织文件中的参赛队信息,将各个参赛团队按照赛事类别分到各个决赛区,先输出赛区的数字,然后输出赛区的叫号顺序

校园导航系统方面,可以用Floyd算法计算最短路径,即先初始化距离矩阵和下一个节点矩阵,然后对于每个中间节点k,更新任意两点之间的距离和路径的下一个节点;直到所有中间节点都被枚举完毕,就可以得到最短路径和路径的下一个节点。其中,建筑物结构体和边结构体可以用来表示建筑物和路径信息。成员函数vertex和addPath分别用于添加建筑物和路径。navigate函数接受起始点和目标点,最后使用Floyd算法计算出最短路径后,输出路径和长度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值