package dataStructure;
import java.util.Arrays;
import java.util.ArrayList;
public class Test1 {
static int [] a =new int[10];
static{
for (int i=0;i<10;i++)
a[i]=i;
} public ArrayList<Integer> inverse(int [] a,ArrayList<Integer> ra){//方法1:只能把整个数组倒置输出,不能改变原数组
int n=a.length;
if (n==1){//递归的停止条件
ra.add(a[n-1]);
//System.out.println(a[n-1]);
}
else{
ra.add(a[n-1]);
//System.out.println(a[n-1]);
inverse( Arrays.copyOfRange(a, 0, n-1),ra);
}
return ra;
} public int [] revert(int a[], int n, int m){//数组元素倒置,并且设定初始位置和要倒置元素的个数,且可以改变原数组,方法2
if (m == 0)
;
else
{
int tmp = a[m - 1];
revert(a, n + 1, m - 1);
a[n] = tmp;
}
return a;
} public static void main(String args[]){
Test1 n =new Test1();
ArrayList<Integer> rea=new ArrayList<Integer>();
for (Integer line :n.inverse(a,rea)){
System.out.println(line);
}//方法1
for (int arr:n.revert(a,0,10)){
System.out.println(arr);
}
System.out.println(a[-1]);
}//方法2
}