【问题标题】:Reverse order of single dimensional array in Java [duplicate]Java中一维数组的逆序[重复]
【发布时间】:2012-11-22 20:07:05
【问题描述】:

可能重复:
How do I reverse an int array in Java?

我需要在不使用临时变量的情况下反转数组中给定数字的顺序。

public class Reverse 
{
    public static void main (String[] args)
    {
        int[] num  = { 12, 34, 50, 67, 88 }, cl, cl2;

        for (i=0; i < a.length; i++)
        {
            cl = a[i];
            cl2 = a[(a.length - 1 )-1];
            System.out.println (cl1 + " " + cl2);
        }
    }
}

【问题讨论】:

  • 从上界到下界打印数组元素。
  • 不可能。寄存器是“临时”,您需要一个寄存器来寻址数组。
  • @AVD - 但是如何在没有临时变量的情况下索引数组?
  • StackExchange != DoMyHomework.

标签: java


【解决方案1】:

您可以使用Collections#reverse 内联整数数组的反向排序,

Collections.reverse(Arrays.asList(num));

【讨论】:

  • ...只要您在本次家庭作业之前已经了解了集合;)
【解决方案2】:

由于您似乎只是将值打印出来,因此您可以向后迭代您的数组。

for(int i = a.length - 1; i >= 0; i--) {
    // relevant code here
}

【讨论】:

  • 我正要添加这个代码片段。酷:)
【解决方案3】:

给出的答案是完美的。但是我只是添加了另一个答案,以防您想在不使用任何临时文件的情况下将反向数组存储到原始数组中。用这个。

public class Reverse 
{
    public static void main (String[] args)
    {
        int[] a = { 12, 34, 50, 67, 88 };
        int i, j;

        for (i = 0, j = a.length - 1; i < j; i++, j--)
       {
           a[i]=a[i]+a[j];
           a[j]=a[i]-a[j];
           a[i]=a[i]-a[j];
       }
    }
}

【讨论】:

    猜你喜欢
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 2020-06-07
    • 2022-01-18
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    相关资源
    最近更新 更多