package com.example.math;
// 方法概述:首先将多维数组的所有元素合并到一个新的单一维度数组中,接着使用冒泡排序算法来确定该数组的最大值和最小值。
public class ArrayMaxMinFinder {
public static void main(String[] args) {
int[][] inputArray = {{3, 2, 6}, {6, 8, 2, 10}, {5}, {12, 3, 23}};
int totalElements = 0;
// 计算总元素数量
for (int[] row : inputArray) {
totalElements += row.length;
}
int[] flattenedArray = new int[totalElements];
int currentIndex = 0;
// 将多维数组元素复制到一维数组
for (int[] row : inputArray) {
for (int element : row) {
flattenedArray[currentIndex++] = element;
}
}
// 使用冒泡排序对一维数组进行排序
for (int i = 0; i for (int j = 0; j if (flattenedArray[j] > flattenedArray[j + 1]) {
int temp = flattenedArray[j];
flattenedArray[j] = flattenedArray[j + 1];
flattenedArray[j + 1] = temp;
}
}
}
// 输出最大值和最小值
System.out.println("数组中的最大值为: " + flattenedArray[flattenedArray.length - 1]);
System.out.println("数组中的最小值为: " + flattenedArray[0]);
}
}