数组的逆序

本文介绍了一种简单有效的数组逆序算法实现方式。通过两种不同的方法实现了数组元素的逆序排列,包括直接交换首尾元素的方法及使用循环进行遍历交换的方式。文章提供了完整的Java代码示例,有助于理解数组逆序的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**1:思路分析**
    1:静态初始化一个数组
    2:把0索引和arr.lentgh-1的数据交换
    3:把1索引和arr.lentgh-2的数据交换
    4:只要做到arr.length/2就可以了
    5:返回值是void,因为这两个数组其实就是一个数组

package day05;

/**
* java基础:数组
* Author:yangjishun
* Description:数组的遍历并将其逆序
* Date: 2017-10-22 22:12
*/
public class ArrayDemo8 {

public static void main(String[] args) {
    //定义一个静态数组
    int[] arr = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};
    //调用方法
  //  Reverse1(arr);
    System.out.println("实现方法一");
   // printlnArr(arr);
    Reverse2(arr);
    System.out.println("实现方法二");
    printlnArr(arr);

}

/**
 * @Author(作者):yangjishun
 * @Description(描述):数组逆序
 * @Params:[arr] 
 * Returned Value:void
 * @Date:2017-10-23 0:05
 */
public static void Reverse1(int[] arr) {
    //数组元素的第一次调用
    // int temp=arr[0];
    //  arr[0]=arr[arr.length-1];    //第一个元素等最后一个元素
    // arr[arr.length-1]=temp;  //最后一个元素的值就是第一个元素的值
    //对数组进行遍历
    for (int x = 0; x < arr.length / 2; x++) {
        int temp = arr[x];    //定义一个临时的元素值
        //每遍历一次,就是arr[0]=arr[arr.length-1-0]
        //arr[1]=arr[arr.length-1-1]
        arr[x] = arr[arr.length - 1 - x];
        arr[arr.length - 1 - x] = temp;
    }
}
/**
 *@Author(作者):yangjishun
 *@Description(描述):数组元素逆序
 *@Params:[arr]
 *Returned Value:void
 *@Date:2017-10-23 0:13 
 */
public static void Reverse2(int[] arr) {
    //利用两个索引,开始和结尾,开始从0开始,结尾从arr.length-1
    for (int start = 0, end = arr.length - 1; start <= end; start++,end--) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
    }
}
/**
 *@Author(作者):yangjishun
 *@Description(描述):
 *@Params:[arr]
 *Returned Value:void
 *@Date:2017-10-23 0:14 
 */

//写一个打印输出的方法,用来打印数组
public static void printlnArr(int[] arr) {
    System.out.print("[ ");   //打印数组的左中括号
    for (int x = 0; x < arr.length; x++) {
        //进行判断,如果是数组中的最后一个元素,打印最后一个元素和}
        if (x == arr.length - 1) {
            System.out.print(arr[x] + "]");
        } else {
            //如果不是最后的一个元素
            System.out.print(arr[x] + ",");
        }
    }
    System.out.println();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值