zoukankan      html  css  js  c++  java
  • 队列课下作业(补博客)

    活动要求:

    • 1 补充课上没有完成的作业
    • 2 参考15.3节,用自己完成的队列(链队,循环数组队列)实现模拟票务柜台排队功能
    • 3 用JDB或IDEA单步跟踪排队情况,画出队列变化图,包含自己的学号信息
    • 4 把代码推送到代码托管平台
    • 5 把完成过程写一篇博客:重点是单步跟踪过程和遇到的问题及解决过程
    • 6 提交博客链接

    活动过程:

    • 首先我们先把书上的代码敲了(15.3、15.4)
    • 然后我们开始对15.4进行分析。首先要提的一点是,课本上的注释非常非常非常重要(重要的事情说三遍)
    • 首先我们来翻译一下课本上的注释:
    • // process the simulation for various number of cashiers :过程模拟为各种数量的收银员
    • // load customer queue :加载客户队列
    • // process all customers in the queue :处理所有客户在队列中
    • // output results for this simulation :这个模拟的输出结果
    • 现在我们来观察一下这个代码。
    • 第一个for循环的作用:将所有cashiers(10个)加载进队列中
    • 第二个for循环的作用:将cashiers的时间归零
    • 第三个for循环的作用:加载客户
    • while循环:计算客户办理业务的平均时间。
    • 注意:这个代码计算的是柜台办理“一次”业务的平均时间而不是一个柜员办理业务所需的平均时间。

    遇到的问题:

    • 应该不算是遇到的,是我的结对伙伴刘伟康康哥给我提出来的,他问:for (int cashiers=0; cashiers < MAX_CASHIERS; cashiers++) 这个for循环中设置的cashiers为0时为什么时间不是正无穷(cashiers=0相当于柜台没人,那么顾客等待的时间不是正无穷吗?)
    • for (int count=0; count <= cashiers; count++) 这里的cashiers和count没有关系,但由于我们在输出的时候给cashiers+1System.out.println ("Number of cashiers: " + (cashiers+1)); 所以 count=0的时候输出的是cashier=1的结果。所以cashiers=0或者是cashiers=1和count没有关系。但是count必须等于0因为count跟数组下标有关系,cashier=0或者是1我们都可以调整代码得到我们想要的结果。

    单步跟踪图片

  • 相关阅读:
    使用超酷的jQuery缩略图生成插件NailThumb制作漂亮的缩略图web应用
    极客Web前端开发资源大荟萃#015
    极客编程小挑战#29:实现手机上常见的某一功能的效果显示
    在线制作gif loading图
    极客标签二重大礼华丽登场 宅男宅女必备套装
    SVG矢量图形课程基础入门篇
    浏览器JS交互,点击查询
    11选5专家投注研究算法
    大龙VBox API参数插件
    利用DLL劫持内存补丁技术注入
  • 原文地址:https://www.cnblogs.com/Mosemonkey/p/7712475.html
Copyright © 2011-2022 走看看