Files
2026-06-26 19:58:32 +08:00

2.0 KiB

TODO List — 组员A

负责模块: 车次信息管理(顺序表)
核心数据结构: 顺序表 TrainList
文件: src/train.hsrc/train.cpp
分支: feature/train


一、顺序表基础操作

  • ListInsert — 在位置 i 插入车次(检查越界/满/重复)
  • ListDelete — 删除位置 i 的车次(元素前移)
  • ListUpdate — 更新位置 i 的车次信息

二、查找算法(两种)

  • SeqSearch — 顺序查找(按车次号逐个比较)
  • BinSearch — 二分查找(需先按 trainNo 排序)
  • SearchByStation — 按始发站/终点站模糊查找
  • AdvancedSearch — 多条件组合查询(站名 + 票价区间)

三、排序算法(三种)

  • InsertSort — 直接插入排序(按车次号升序)
  • QuickSort — 快速排序(按票价排序)
  • HeapSort — 堆排序(按余票数排序)

四、文件读写

  • loadTrainsFromFile — 从 data/trains.csv 读取车次数据
  • saveTrainsToFile — 将车次数据写回 data/trains.csv

五、管理员交互接口

  • adminAddTrain — 交互式新增车次(录入各字段,校验合法性)
  • adminDeleteTrain — 按车次号查找并删除
  • adminModifyTrain — 查找后选择字段修改
  • adminListTrains — 遍历输出所有车次(格式化表格)
  • adminSearchTrain — 菜单选择查找方式(顺序/二分/模糊)
  • adminSortTrains — 菜单选择排序方式(票价快排 / 余票堆排)
  • adminShowStatistics — 调用 hash 模块统计函数展示

六、乘客交互接口

  • passengerSearchTrain — 乘客查车次(按站名/时间/票价筛选)

依赖关系: 先完成基础操作(增删改)和文件读写 → 再做查找 → 再做排序 → 最后做交互接口
验收标准: 管理员能完成车次增删改查全流程,排序结果正确,数据重启后不丢失