數組元素的反轉


 1 package com.demo;
 2 
 3 /*
 4  * 數組元素的反轉(不使用新數組)
 5  * 實現數組元素的反轉,就是把數組中對稱位置的元素調換
 6  */
 7 
 8 public class ArrayReverse {
 9     public static void main(String[] args) {
10         // 定義一個數組
11         int[] arr = new int[] { 10, 50, 30, 25, 70, 35 };
12 
13         // 遍歷原數組
14         System.out.print("反轉前的數組:");
15         for (int i = 0; i < arr.length; i++) {
16             System.out.print(arr[i] + " ");
17         }
18         System.out.println();
19 
20         // 交換對稱位置的元素
21         /*
22          * 實現原理:
23          * 定義兩個變量來存儲索引值
24          *   int first = 0; // 0號索引值
25          *   int last = arr.length - 1; // 最大索引值
26          *   
27          * 1.拿數組中0號索引位置的元素和最大索引位置的元素交換
28          * 2.拿數組中1號索引位置的元素和第二大索引位置的元素交換
29          * 其實就是對稱位置的元素進行交換
30          * ......
31          * 以此類推,當  first>=last 的時候,停止交換
32          * 換句話說,交換的條件為:first<last
33          */
34         // 方式一
35         for (int first = 0, last = arr.length - 1; first < last; first++, last--) {
36             int temp = arr[first];
37             arr[first] = arr[last];
38             arr[last] = temp;
39         }
40         
41         // 方式二
42 //        for (int i = 0; i < arr.length / 2; i++) {
43 //            int temp = arr[i];
44 //            arr[i] = arr[arr.length - i - 1];
45 //            arr[arr.length - i - 1] = temp;
46 //        }
47 
48         // 遍歷反轉后的數組
49         System.out.print("反轉后的數組:");
50         for (int i = 0; i < arr.length; i++) {
51             System.out.print(arr[i] + " ");
52         }
53         System.out.println();
54     }
55 }

 

運行結果:

反轉前的數組:10 50 30 25 70 35 
反轉后的數組:35 70 25 30 50 10 

 


免責聲明!

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



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