gpt4 book ai didi

java - 有效移动 vector 内容的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:58 25 4
gpt4 key购买 nike

我有一个维度为 3 的 vector ,它的值会不断变化,例如,如果我删除位置 0 的内容,我想将剩余单元格的内容从 0 开始移动。

我目前是这样做的(java代码),但我觉得效率很低。

aux = posy[1];
posy[0] = aux;
aux = posy[2];
posy[1] = aux;
posy[2] = 0;

还有其他更有效的方法吗?

最佳答案

你不需要任何辅助变量。

posy[0] = posy[1];
posy[1] = posy[2];
posy[2] = 0;

要以相反的方式移动,您需要按相反的顺序进行。

没有其他改进是可能的。

如果您有很多元素(比如五个元素),我会建议您查看 ArrayDeque 类。它允许在两端插入和删除而不移动元素。它可能是通过一个指向每一端的索引来实现的,就像@Jacob G. 在评论中建议的那样。对于仅三个元素,您可能会认为它太过分了。

关于java - 有效移动 vector 内容的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51054277/

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