欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数组元素的反转

程序员文章站 2022-07-11 07:59:55
运行结果: ......
 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