public class ArrayUtil {
/**
* 求数组的最大值
* @param arr
*/
public int getMax(int[] arr) {
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (max < arr[i]) {
arr[i] = max;
}
}
return max;
}
/**
* 求数组的最小值
* @param arr
*/
public int getMin(int[] arr) {
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
}
}
return min;
}
/**
* 遍历数组元素
* @param arr
*/
public void printArray(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
System.out.print("]");
}
/**
* 求数组元素的总和
* @param arr
*/
public int getSum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
/**
* 求数组元素的平均数
* @param arr
*/
public int getAvg(int[] arr) {
int sum = getSum(arr);
return sum / arr.length;
}
/**
* 数组的反转
* @param arr
*/
public int[] reverse(int[] arr) {
for (int x = 0, y = arr.length - 1; x < y; x++, y--) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
return arr;
}
/**
* 数组的反转
* @param arr
*/
public int[] revoseArray(int[] arr) {
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;
}
return arr;
}
/**
* 数组的复制
* @param arr
*/
public int[] copyArray(int[] arr) {
int[] newArray = new int[arr.length];
for (int i = 0; i < newArray.length; i++) {
newArray[i] = arr[i];
}
return arr;
}
/**
* 对数组进行排序
* @param arr
* @param desc
*/
public void sort(int[] arr, String desc) {
if (desc == "asc") {//从小到大
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]) {
swap(arr, j, j + 1);
}
}
}
} else if (desc == "desc") {// 从大到小
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]) {
swap(arr, j, j + 1);
}
}
}
} else {
System.out.println("您输入的排序方式不正确!");
}
}
/**
* 交换数组中指定位置的元素:交换arr数组中索引为i和j的两个元素
* @param arr
* @param i
* @param j
*/
public void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
/**
* 求数组的最大值
* @param arr
*/
public int getMax(int[] arr) {
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (max < arr[i]) {
arr[i] = max;
}
}
return max;
}
/**
* 求数组的最小值
* @param arr
*/
public int getMin(int[] arr) {
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
}
}
return min;
}
/**
* 遍历数组元素
* @param arr
*/
public void printArray(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
System.out.print("]");
}
/**
* 求数组元素的总和
* @param arr
*/
public int getSum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
/**
* 求数组元素的平均数
* @param arr
*/
public int getAvg(int[] arr) {
int sum = getSum(arr);
return sum / arr.length;
}
/**
* 数组的反转
* @param arr
*/
public int[] reverse(int[] arr) {
for (int x = 0, y = arr.length - 1; x < y; x++, y--) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
return arr;
}
/**
* 数组的反转
* @param arr
*/
public int[] revoseArray(int[] arr) {
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;
}
return arr;
}
/**
* 数组的复制
* @param arr
*/
public int[] copyArray(int[] arr) {
int[] newArray = new int[arr.length];
for (int i = 0; i < newArray.length; i++) {
newArray[i] = arr[i];
}
return arr;
}
/**
* 对数组进行排序
* @param arr
* @param desc
*/
public void sort(int[] arr, String desc) {
if (desc == "asc") {//从小到大
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]) {
swap(arr, j, j + 1);
}
}
}
} else if (desc == "desc") {// 从大到小
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]) {
swap(arr, j, j + 1);
}
}
}
} else {
System.out.println("您输入的排序方式不正确!");
}
}
/**
* 交换数组中指定位置的元素:交换arr数组中索引为i和j的两个元素
* @param arr
* @param i
* @param j
*/
public void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}