思路一:定义一个新数组,然后将原始数组按照倒序的方式插入到新数组中,最后改变原始数组的引用,将其指向新的数组空间。
public class Test {
public static void main(String[] args) {
int data[]=new int[] {1,2,3,4,5,6};
int t[]=new int[data.length];//定义一个新数组,与原数组长度相同
int f=data.length-1;//控制数组的索引
for(int i=0;i<t.length;i++)
{
t[i]=data[f];
f--;//此时t的内容就是转置后的结果
}
data=t;//data指向t,这时data的原始数组就是垃圾
print(data);
}
public static void print(int t[])
{
for(int i=0;i<t.length;i++)
{
System.out.print(t[i]+" ");
}
System.out.println();
}
}
思路二:头尾转换
public class Test {
public static void main(String[] args) {
int data[]=new int[] {1,2,3,4,5,6};
reverse(data);
print(data);
}
public static void reverse(int a[])
{
int len=a.length/2;
int h=0,r=a.length-1;
for(int i=h;i<len;i++)
{
int t=a[h];
a[h]=a[r];
a[r]=t;
h++;
r--;
}
}
public static void print(int t[])
{
for(int i=0;i<t.length;i++)
{
System.out.print(t[i]+" ");
}
System.out.println();
}
}