我正在为学校分配作业,模拟一行学生,并在书记官处打开多个窗口。
我为学生排了队长,但是有人建议我在Windows上使用数组来实现我们自己创建的队列类。
我不明白为什么除了学生时间递减之外,当我还想了解每个窗口的其他变量时,为什么数组会起作用。
我只是在寻找某个方向或更深入的解释,以了解如何使用数组存储每个学生在窗口的时间而不是另一个双向链接列表的时间?
最佳答案
我的看法是,学生人数可变,窗户数量固定(建筑物通常不会经常改变)。如果要在代码中对此表示,则将使用动态大小的容器(列表,向量,队列等)包含所有学生和用于寄存器的固定大小的数组。这将体现代码中实际情况的意图,从而使使用您的代码的其他人犯下与书记官长办公室规模有关的任何错误的可能性较小。通常,选择容器类型仅是其预期用途!
因此,您可以设计一个类来使用固定大小的数组(甚至更好:使用C ++时由模板决定的大小)来保存所有寄存器。然后,您可以使用给定的size参数编写所有其他与Registrar相关的功能,因此永远不会超出Registrar数组的范围。
最后:一个数组保存您想要保存的任何信息。您可以让它仅容纳数字(例如int),但也可以容纳任何类型的对象!我的意思是:创建一个注册器类,其中包含您要为每个注册器收集的所有信息。然后创建一个包含Registrar对象的数组。然后,无论何时访问数组中的单个元素,都可以通过该单个引用访问单个注册服务商的所有信息。