Java,在数组中移动元素

标签 java arrays algorithm shift

我在 Java 中有一组对象,我试图将一个元素拉到顶部并将其余元素向下移动一个。

假设我有一个大小为 10 的数组,并且我正在尝试提取第五个元素。第五个元素进入位置 0 并且从 0 到 5 的所有元素都将向下移动 1。

这个算法没有正确地移动元素:

Object temp = pool[position];

for (int i = 0; i < position; i++) {                
    array[i+1] = array[i];
}
array[0] = temp;

我该如何正确操作?

最佳答案

从逻辑上讲它不起作用,你应该反转你的循环:

for (int i = position-1; i >= 0; i--) {                
    array[i+1] = array[i];
}

你也可以使用

System.arraycopy(array, 0, array, 1, position);

关于Java,在数组中移动元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7970857/

相关文章:

java - 需要使用 appium 在 safari mobile 上自动播放视频

java - 在数组中插入数字

c++ - "container"和 "data structure"有什么区别?

java - 字符之间的正则表达式匹配

java - 有人能解释一下为什么这个 While 语句必须是 AND

java - URLDecoder.decode(encodedString, "UTF-8") 替代方案

arrays - MIPS中的冒泡排序算法

c - 返回数组中找到的所有偶数

algorithm - 给定 x,我怎样才能找到加起来为 x 的所有四个数字的集合

php - SQL高效的计划生成算法