数组元素反转思路
1.数组元素反转,其实就是对称位置的元素交换。
2.通常遍历数组用的是一个索引,int i=0,
现在表示对称位置需要两个索引
int min=0;
int max=array.length-1;
3.如何交换两个变量的值?
int a=10;
int b=20;
如果是两个装满水的水杯,如何交换?
int temp=a;
a=b;
b=temp;
代码描述:用第三个变量倒手。
4.什么时候停止交换?
(1)min=max
(2)min>max
什么时候应该交换?
min<max
代码展示
package cn.ly.array;
/*
* 数组元素的反转
* 原数组{1,2,3,4}
* 反转后的数组{4,3,2,1}
* 要求不能使用新数组,就用原来的唯一一个数组
* */
public class DEmo07ArrayReverse {
public static void main(String[] args) {
int[] array={20,3,40,56,70};
//遍历打印原来的数组
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
System.out.println("============");
//反转
/*
* 初始化语句 int min=0,max=array.length-1
* 条件判断 min<max
* 步进表达式 min++,max--
*循环体 用第三个变量倒手
* */
for (int min=0,max=array.length-1;min<max;min++,max--){
int temp=array[min];
array[min]=array[max];
array[max]=temp;
}
//再次打印输出数组后来的样子
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
结果展示