1 package dataStructure;
2 import java.util.Arrays;
3 import java.util.ArrayList;
4 public class Test1 {
5 static int [] a =new int[10];
6 static{
7 for (int i=0;i<10;i++)
8 a[i]=i;
9 }
10
11 public ArrayList inverse(int [] a,ArrayList ra){//方法1:只能把整个数组倒置输出,不能改变原数组
12 int n=a.length;
13 if (n==1){//递归的停止条件
14 ra.add(a[n-1]);
15 //System.out.println(a[n-1]);
16 }
17 else{
18 ra.add(a[n-1]);
19 //System.out.println(a[n-1]);
20 inverse( Arrays.copyOfRange(a, 0, n-1),ra);
21 }
22 return ra;
23 }
24
25 public int [] revert(int a[], int n, int m){//数组元素倒置,并且设定初始位置和要倒置元素的个数,且可以改变原数组,方法2
26 if (m == 0)
27 ;
28 else
29 {
30 int tmp = a[m - 1];
31 revert(a, n + 1, m - 1);
32 a[n] = tmp;
33 }
34 return a;
35 }
36
37 public static void main(String args[]){
38 Test1 n =new Test1();
39 ArrayList rea=new ArrayList();
40 for (Integer line :n.inverse(a,rea)){
41 System.out.println(line);
42 }//方法1
43 for (int arr:n.revert(a,0,10)){
44 System.out.println(arr);
45 }
46 System.out.println(a[-1]);
47 }//方法2
48 }
标签:java,int,ArrayList,System,ra,数组,println,倒置,out
来源: https://www.cnblogs.com/zz22--/p/10705362.html