Java转置

思路一:定义一个新数组,然后将原始数组按照倒序的方式插入到新数组中,最后改变原始数组的引用,将其指向新的数组空间。

 
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();
	}
}
发布了137 篇原创文章 · 获赞 3 · 访问量 4857

猜你喜欢

转载自blog.csdn.net/qq_38054511/article/details/104268935