Java中一维数组的逆序[重复]

Posted

技术标签:

【中文标题】Java中一维数组的逆序[重复]【英文标题】:Reverse order of single dimensional array in Java [duplicate] 【发布时间】: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 - 但是如何在没有临时变量的情况下索引数组? 同***.com/questions/2137755/… StackExchange != DoMyHomework. 【参考方案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];
       
    

【讨论】:

以上是关于Java中一维数组的逆序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

java编程:计算一个一维数组中的最大值和最小值及其差值。

一维数组的逆序存放问题

一维数组的逆序存放问题

java Vector 怎么用一个Vector来给一个一维数组赋值呢?

01背包_顺序枚举和逆序枚举的问题_一维数组

利用JAVA编写程序,用一维数组保存20个学生的某门课程的成绩,计算平均成绩,并输出。