当实现像队列这样的 FIFO 时,我的导师总是建议我们将其表示为循环数组而不是常规数组。为什么?
是因为在后者中,我们最终会在数组中出现垃圾数据吗?
如果您使用固定数量的阵列插槽/元素,则以圆形排列回收插槽会更容易,因为您不需要重新排序元素。每当第一个元素在类似数组的排列中被移除时,您必须将剩余的元素移动到前面一个位置,这样头部就不会被移除。null
。在循环队列中,只需将指针增加到第一个位置即可。这减少了更新操作,并为您提供了更好的性能。
如果您正在构造一个具有无限/动态数量的插槽的队列,这并不重要,因为您可以动态释放和分配内存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)