北邮2019春计导下 [project] 外卖订单模拟 3.总体思路

本文介绍了北邮2019春季计算机导论课程的一个项目——外卖订单模拟。作者分享了从最简单的文件输入输出开始,逐步构建命令行动画和窗口动画的思路。核心算法涉及订单排序、骑手路径规划等,并探讨了数据结构的选择,如使用链表存储骑手和订单。文章还提到了代码组织结构,包括头文件、主控程序、算法实现、文件I/O、命令行和窗口动画等部分,并计划在后续文章中发布详细代码。
摘要由CSDN通过智能技术生成

写在前面

1.这是我的个人博客,我写的内容仅针对我自己的开发经历。而且写博客仅是爱好,不是义务。
2.受能力所限,我的方法并不是最优解。
3.我会放出自己的代码供大家参考,我相信各位是纯洁的。但防小人不防君子,禁止大片剽窃代码
4.由于大作业并没有显著的性能需求,所以代码中可能存在的内存泄漏的问题没有完全修复。

(Created by XMind Zen)
在这里插入图片描述
初拿到这个项目可能没有主意,这很正常。
先不要把课题想那么复杂,仅选取最基本的模块,文件输入->文件输出,就是一个OJ题,之后的命令行动画、窗口动画都只是陪衬。
当我拿到订单的时候,我会想些什么
订单读入后,总能够按照时间递增排好序。而对于同一时刻,算法要做的无非就是

1.遍历骑手,如果骑手抵达食客位置,则执行结算。
2.把订单派出去(将餐馆、食客两个点按序插入到骑手路径的合适位置)。
3.将骑手移动到下一个位置。
4.将当前状态按要求写入文件。
5.(可选)更新画面内容,无论是命令行还是窗口动画。

这便是最粗浅的步骤安排。
数据结构
其实如果是OOP,用类肯定是简单直接,可惜主代码锁死了只让用C。
单个骑手和单个订单都可以用结构体来实现自定义。
而存储骑手总表和订单总表时,链

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值