【发布时间】:2011-12-19 17:29:39
【问题描述】:
我在 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;
我该如何正确操作?
【问题讨论】:
-
正如@PaulSassik 所说,如果您需要转移,那么这不是一个很好的使用数组。要么使用链表,要么使用某种指向缓冲区的指针(是的,您可以使用类似于 java 中的指针的东西)。
-
考虑使用
System.arraycopy()。
标签: java arrays algorithm shift