求出数组中的最值
public class Demo06ArrayMin {
public static void main(String[] args) {
int[] array = {15,25,35,45,55,65,75};
int max/min/ = array[0]; // 比较点
for (int i = 1;i < array.length;i++) {
// 如果当前元素,比max更大/比min更小/,则交换
if (array[i] < max/min/) {
max/min/ = array[i];
}
}
System.out.println("最大值/最小值/" + max/min/);
}
}
// 数组元素反转
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 min < max
(2)min > max
数组元素的反转:
本来的样子:[1,2,3,4]
之后的样子:[4,3,2,1]
要求不能使用新数组,就用原来的唯一一个数组。
public class Demo06ArrayMin {
public static void main(String[] args) {
int[] array = {15,25,35,45,55,65,75};
// 遍历打印数组本来的样子
for (int i = 1;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 = 1;i < array.length;i++) {
System.out.println(array[i]);
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)