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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM