zoukankan      html  css  js  c++  java
  • 数组元素的反转

     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 
  • 相关阅读:
    bzoj2732[HNOI2012]射箭
    poj1474 Video Surveillance
    bzoj3167[HEOI2013]SAO
    hdu2296 Ring
    bzoj2119 股市的预测
    bzoj2244[SDOI2011]拦截导弹
    bzoj3502[PA2012]Tanie Linie(最大k区间和)
    vijos1859[TJOI2014]电源插排
    比较SQL查询性能 语句
    什么是高内聚低耦合
  • 原文地址:https://www.cnblogs.com/stefaniee/p/10920743.html
Copyright © 2011-2022 走看看