<分区>
这不是家庭作业
我正在设计一个 parking 场,假设我有一个变量 used
用于计算使用了多少 parking 位,还有一个 Hashmap
用于将汽车 VIN 号码映射到 parking 场号码.
我从 used = 0
开始
当 CarA 到达时:
used = used + 1;
h.put("CarA" , used) //CarA-> 1
当 CarB 到达时:
used = used + 1;
h.put("CarB" , used) //CarB-> 2
当 CarC 到达时:
used = used + 1;
h.put("CarC" , used) //CarC-> 3
此时used
包含3
现在我删除 CarA。
used = used - 1 // used contains 2
问题: 但现在我需要跟踪插槽 1 是空的这一事实,我不应该忘记将它再次用于任何其他汽车。我如何跟踪事实?
我的解决方案(我想对此进行改进并获得批评)是我可以将这些批号(在移除汽车时释放)保留在队列中,并且当汽车到来时队列不为空我应该简单地使用队列中的槽,直到队列为空。