将数组中的数据翻转(倒转)
- 需求:定义一个数组,存入1,2,3,4,5。按照要求交换索引对应的元素
- 举例:
交换前:1,2,3,4,5;
交换后:5,4,3,2,1 - 方法一的图解
public class FDemo {
public static void main(String[] args){
/*
* 将数组中的数据翻转(倒转)
* 需求:定义一个数组,存入1,2,3,4,5。按照要求交换索引对应的元素
* 举例:交换前:1,2,3,4,5;交换后:5,4,3,2,1
* */
/*方法一:*/
//1. 定义数据存储数据
int[] arr ={1,2,3,4,5};
//2.利用循环交换数据
for (int i = 0,j = arr.length - 1;i < j; i++,j--){
//变量i和变量j分别为要交换数据的下标
// 交换变量i和变量j指向的元素
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//3. 当循环结束以后,那么数组中的数据就实现了头尾交换
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
// /*方法二:*/
// //1. 定义数据存储数据
// int[] arr ={1,2,3,4,5};
// //定义一个临时变量,用于数据交换
// int temp = 0;
// //2. 利用循环交换数据
// //当下标为arr.length/2-1=1的数据交换以后停下来。交换完成
// for (int i = 0; i < arr.length/2; i++) {
// //下标为i=0的和下标为arr.length-1-i=4的交换;
// //下标为i=1的和下标为arr.length-1-i=3的交换;……
// temp = arr[i];
// arr[i] = arr[arr.length-1-i];
// arr[arr.length-1-i] = temp;
// }
// //输出交换数据后的数组元素
// for (int i = 0; i < arr.length; i++) {
// System.out.print(arr[i]+" ");
// }
}
}