java数组元素倒置

 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<Integer> inverse(int [] a,ArrayList<Integer> 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<Integer> rea=new ArrayList<Integer>();
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 }

 

posted @ 2019-04-14 15:33  樟樟22  阅读(1951)  评论(0编辑  收藏  举报