java - 模拟快餐店的排队和请求服务的程序

标签 java data-structures queue

我被要求在不使用任何数据结构库的情况下编写一个程序。

输入是:

  • 系统中主服务器的数量。

  • 系统中辅助服务器的数量。

  • 一组服务请求,每个服务请求包含一个到达时间和两个服务时间。
  • 该集合由到达时间和服务时间均等于 0 的虚拟记录终止。(注意:到达时间按升序排序)。

我对java很陌生,所以我想获得建议什么是最好的方法或资源,这将帮助我更好地理解这个概念。

我知道我们确实需要创建 2 个队列,一个用于主服务器和辅助服务器,用于在等待服务时存储数据。 我可能必须创建计数器来增加和减少时间。希望我的思考过程是正确的。

但我不确定我们如何创建多个队列以及我将为服务器使用什么数据结构。

最佳答案

解决这个问题的方法是画出现实世界情况的图表。顾客进来并排队。有X台服务器,每台服务器一次可以接待一位顾客。还要对辅助服务器的角色进行建模,无论它是什么。

然后开始处理交易:服务器吸引客户,将订单传递到辅助服务器队列并等待。从辅助服务器获取响应,与客户完成等。描述客户、服务器和辅助服务器之间交换信息的每个地方。

如果您这样做,您就会很好地理解您要解决的问题以及现实世界的解决方案。然后您只需在代码中对其进行建模即可。最好的办法是首先用伪代码编写一个基本大纲,描述您将要使用的数据结构和算法。一旦掌握了这一点,您就可以(再次)使用铅笔和纸来模拟其操作。

当您确信自己的算法是正确的时,然后您就坐下来编写代码。编写代码几乎是伪代码的简单翻译。

关于java - 模拟快餐店的排队和请求服务的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57405909/

相关文章:

java - 迭代某个范围内的 Java Map

C#:通常首选哪种类型的数据容器?

c++ - boost::lockfree::queue 允许的数据结构示例?

Python 线程和队列示例

php - laravel 应用程序中的 beanstalkd 驱动程序配置错误

java - 根据值拆分 Arraylist 的最佳方法是什么

java - 生成包含 Cobertura 报告的 Maven 站点

java - Maven 全新安装构建失败 : Spring Boot- MVC, JPA

java - 使用外部属性运行 Jar 文件

c++ - 为什么在链接列表中链接之前需要填充数据?