Java数组中的最值及数组元素反转

Java数组中的最值及数组元素反转,第1张

求出数组中的最值
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]);
        }
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/905849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-15
下一篇 2022-05-15

发表评论

登录后才能评论

评论列表(0条)

保存