我是新来的编程新手。 我有一个任务,其中包含反转数组的元素,但不能使用数组反向方法。我不知道我怎么能做到这一点。我尝试使用for循环,但它不起作用。 在此先感谢。阵列中的反向元素无阵列逆向法
试图扭转这样的事情: 1,4,9,16,9,7,4,9,11 到11,9,4,7,9,16,9,4,1
我是新来的编程新手。 我有一个任务,其中包含反转数组的元素,但不能使用数组反向方法。我不知道我怎么能做到这一点。我尝试使用for循环,但它不起作用。 在此先感谢。阵列中的反向元素无阵列逆向法
试图扭转这样的事情: 1,4,9,16,9,7,4,9,11 到11,9,4,7,9,16,9,4,1
因此,这是一个家庭作业问题,我不会给你提供完整的答案,而是给你一些提示。
如果您可以创建附加数组,请尝试以下操作:创建一个将包含相反元素的新数组。从最后开始迭代你的初始数组,并移动到元素0.正如你这样做只是设置initialArray[i] = newArray[index]
请注意,i
和index
只是我编造的变量。这项任务的一部分困难是弄清楚如何在两个阵列之间进行分配,所以我会把它留给你!
随意问任何更多的问题,我可以尝试引导你的解决方案。
祝你好运!
使用for循环,第二个数组是最简单的方法。
int[] array = new int[]{ 1, 4, 9, 16, 9, 7, 4, 9, 11 };
int[] array2 = array;
int count = 0;
for(int i = array.length-1; i >= 0; i--) {
array2[count] = array[i];
count++;
}
更复杂的解决方案只使用一个数组将暂时保存到外部int值并交换它们。
int count = 0;
int[] array = new int[]{ 1, 4, 9, 16, 9, 7, 4, 9, 11 };
for(int i = array.length-1; i >= count; i--) {
int x = array[i];
array[i] = array[count];
array[count] = x;
count++;
}
您可以添加失败的尝试吗?这样我们就能看到你做错了什么。 – crumbug
把它放在'List'中,然后用custom * Comparator *做'Collections.sort()'。 – GurV
阅读本文http://stackoverflow.com/questions/2137755/how-do-i-reverse-an-int-array-in-java – gihan