gpt4 book ai didi

java - 如果您尝试在完整数组中排队,循环数组是否会覆盖当前数字?

转载 作者:行者123 更新时间:2023-12-01 13:23:42 25 4
gpt4 key购买 nike

如果您尝试将数字排入已填充的索引,循环数组是否会覆盖?

例如,假设我有一个包含 8 个整数的循环数组,只有 5 个索引存储了数字。 2是正面,6是背面。如果我将 4 个数字排入队列,当它填满索引 1 时,就只插入了 3 个数字,我还剩下 1 个数字要插入,但没有空间,因为索引 2 已经填满了。我排队的最后一个数字是否会覆盖索引 2,还是该数字不相关并且后面保留在索引 1,前面保留在索引 2?

希望这是有道理的,我的直觉告诉我,如果我有另一个号码要排队,它不会覆盖当前的号码,但我需要保证。

最佳答案

实际的答案是这取决于实现。您可以构建自己的循环数组来检查长度并在满时拒绝插入(通过抛出异常或返回错误状态代码),并且您可以构建一个可以轻松覆盖的循环数组。您甚至可以构建一个在尝试插入完整队列时阻塞当前线程的线程,仅当另一个线程删除元素时才解除阻塞。

这里没有真正的“标准”,但如果您使用的是预先存在的库,请检查其文档。

例如,Java 编程语言的标准库中没有循环数组。同样,您可以自由地以任何一种方式编写。 java.util.Queue 接口(interface)的各种实现可能在底层有循环数组,但您不会看到它们这样暴露。

关于java - 如果您尝试在完整数组中排队,循环数组是否会覆盖当前数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21898224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com