/*
* 数组倒置
*/
package frist;
public class Second
{
public static void main(String[] args)
{
data a[]=new data[10];
for(int i=0;i<10;i++)
{
a[i]=new data(i);
}
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+" ");
}
System.out.println();
//方法一倒置(空间复杂度是0(1)
data d;
long m=System.currentTimeMillis();
for(int i=0,j=a.length-1;i<j;i++,j--)
{
d=a[i];
a[i]=a[j];
a[j]=d;
}
long n=System.currentTimeMillis();
System.out.println("方法一的时间"+(n-m)+"毫秒");
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+" ");
}
System.out.println();
//方法二倒置(空间复杂度0(n)
m=System.currentTimeMillis();
data b[]=new data[a.length];
for(int i=0,j=a.length-1;i<a.length;i++,j--)
{
b[i]=a[j];
}
n=System.currentTimeMillis();
System.out.println("方法二的时间"+(n-m)+"毫秒");
System.out.println();
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+" ");
}
}
}
class data<T>
{
T t;
data(T t)
{
this.t=t;
}
@Override
public String toString()
{
return ""+t;
}

}