1.穷举法,求数组元素最大值
将各个元素都相互比较然后取最大的一个
我们假设数组为{10,24,55,21,13,23}这里不难看出10是最小值,穷举法就是将各个数组相互比较所以,我们假设10为最大的数组元素,与24比较,24比10大则我们就将24看为最大的元素,同理24在于55比较,55大于24所以我们又将55当做最大的元素,以此类推
/**
* 求数组中元素最大的数-穷举法
*/
public class ArrText02 {
public static void main(String[] args) {
int[] arr = new int[]{10,24,55,21,13,23};
//求数组arr中元素的最大值
int max = arr[0];
//假设数组的第一个数为最大值
for (int i = 0; i < arr.length; i++) {
//循环遍历每一个元素
if(max < arr[i]){//如果第一个元素小于其他元素
max = arr[i];
//将其他元素赋给max
}
}
System.out.println("该数组最大值"+max);
}
}
2.排序
很简单将数组的元素从小到大(从大到小)排序然后打印最后一个(第一个)元素就是数组的最大(最小值了)
/**
* 将数组从大到小排列-交换法
*/
public class Arrange {
public static void main(String[] args) {
int[] arr = {67,24,34,45,64};
//排列前的数组
soundMax(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
System.out.println(arr[0]);
}
}
static void soundMax(int[] arr){
for (int i = 0;i < arr.length;i++) {//对数组进行遍历找到最大值的坐标
int max = i;//用来存放最大值的下标
for(int j= i;j< arr.length;j++){
if (arr[max]<arr[j]){//如果数组的最大值小于另一个元素
max = j;//就将该元素的下标赋给max
}
}
if (i != max) {//上面的max=j执行、就将当前索引i与max的值交换
int temp = arr[i];
arr[i] = arr[max];
arr[max] = temp;
}
}
}
}
3,当然也可以用Arrays工具类来完成,
Arrays是别人帮我分装好了的类所以我们可以直接拿来用
import java.util.Arrays;
/**
* Array工具类—排列数组
*/
public class ArrayText {
public static void main(String[] args) {
int[] arr = {67,24,34,45,64};
Arrays.sort(arr);//引用Arrays类中的sort方法
System.out.println(Arrays.toString(arr));
}
}
总的来说我们一般用第3种就好啦, 因为代码简单都是大佬们总结好的方法我们自己写的也不一定有别人写得好,所以直接拿过来用就行了。
文章介绍了如何使用穷举法求解数组的最大值,通过逐个比较元素实现;另外展示了使用排序方法,以及利用Java的Arrays工具类快速排序并获取最大值。作者推荐直接使用Arrays工具类以提高效率。
8978

被折叠的 条评论
为什么被折叠?



