Java之数组的反转

简介: Java之数组的反转

数组反转

  • 要求:把数组的元素内容反转。
    ArrayReverse.java
arr {11,22,33,44,55,66} {66, 55,44,33,22,11}

方式 1:通过找规律反转

  • 【思路分析】
  • 规律

    1. arr[0]arr[5] 进行交换 {66,22,33,44,55,11}
    2. arr[1]arr[4] 进行交换 {66,55,33,44,22,11}
    3. arr[2]arr[3] 进行交换 {66,55,44,33,22,11}
    4. 一共要交换 3 次 = arr.length / 2
    5. 每次交换时,对应的下标 是 arr[i] 和 arr[arr.length - 1 -i]
      int temp = 0;
      int len = arr.length; //计算数组的长度
      for( int i = 0; i < len / 2; i++) {
          temp = arr[len - 1 - i];//保存
          arr[len - 1 - i] = arr[i];
          arr[i] = temp;
      }

      System.out.println("===翻转后数组===");
      for(int i = 0; i < arr.length; i++) {
          System.out.print(arr[i] + "\t");//66,55,44,33,22,11
      }

方式 2:使用逆序赋值方式
ArrayReverse02.java

  • 思路

    1. 先创建一个新的数组 arr2 ,大小 arr.length
    2. 逆序遍历 arr ,将 每个元素拷贝到 arr2的元素中(顺序拷贝)
    3. 建议增加一个循环变量 j -> 0 -> 5
     int[] arr2 = new int[arr.length];
      //逆序遍历 arr
      for(int i = arr.length - 1, j = 0; i >= 0; i--, j++) {
          arr2[j] = arr[i];
      }
      //4. 当for循环结束,arr2就是一个逆序的数组 {66, 55, 44,33, 22, 11}
      //5. 让 arr 指向 arr2数据空间, 此时 arr原来的数据空间就没有变量引用
      // 会被当做垃圾,销毁
      arr = arr2;
      System.out.println("====arr的元素情况=====");
      //6. 输出 arr 看看
      for(int i = 0; i < arr.length; i++) {
          System.out.print(arr[i] + "\t");
        }

在这里插入图片描述

目录
相关文章
|
30天前
|
存储 Java C++
Java数组:静态初始化与动态初始化详解
本文介绍了Java中数组的定义、特点及初始化方式。
62 12
|
1月前
|
存储 Java 索引
Java快速入门之数组、方法
### Java快速入门之数组与方法简介 #### 一、数组 数组是一种容器,用于存储同种数据类型的多个值。定义数组时需指定数据类型,如`int[]`只能存储整数。数组的初始化分为静态和动态两种: - **静态初始化**:直接指定元素,系统自动计算长度,如`int[] arr = {1, 2, 3};` - **动态初始化**:手动指定长度,系统给定默认值,如`int[] arr = new int[3];` 数组访问通过索引完成,索引从0开始,最大索引为`数组.length - 1`。遍历数组常用`for`循环。常见操作包括求和、找最值、统计特定条件元素等。
|
1月前
|
存储 Java 索引
Java基础(六):数组
Java基础(六):数组
30 10
Java基础(六):数组
|
4月前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
61 2
|
4月前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
48 4
|
4月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
128 2
|
4月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
48 0
|
4月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
44 3
|
4月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
48 1
|
4月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
73 9

热门文章

最新文章