数组的常用算法:
package com.atguigu.java;
public class TestArray3 {
public static void main(String[] args) {
int[] arr = new int[] { 12, 43, 9, 0, -65, -99, 100, 9 };
// 最大值
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
System.out.println("数组的最大值为: " + max);
// 最小值
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
}
}
System.out.println("数组的最大值为: " + min);
// 总和
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println("总和为: " + sum);
//平均数
int avg = 0;
avg = sum / arr.length;
System.out.println("平均值为: " + avg);
//数组的复制
int[] arr1 = new int[arr.length];
for(int i = 0 ;i < arr1.length;i++) {
arr1[i] = arr[i];
}
//数组元素的反转
// for(int i = 0;i < arr.length/2; i++) {
// int temp = arr[i];
// arr[i] = arr[arr.length-1 - i];
// arr[arr.length - 1 -i] = temp;
// }
for(int x = 0,y = arr.length - 1; x < y;x++,y–) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
//遍历
for(int i = 0; i < arr.length;i++) {
System.out.print(arr[i] + “\t”);
}
//使用冒泡排序使数组元素从小到大排序
// for (int i = 0; i < arr.length - 1;i++) {
// for(int j = 0;j < arr.length - 1 - i;j++) {
// if(arr[j] > arr[j + 1]) {
// int temp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = temp;
// }
// }
// }
//使用直接选择排序使数组元素从小到大排序
for(int i = 0;i < arr.length - 1;i++) {
for(int j = i;j < arr.length;j++) {
if(arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println("排序以后: ");
//遍历
for(int i = 0; i < arr.length;i++) {
System.out.print(arr[i] + “\t”);
}
}
}