package com.butupi.sort;
import java.util.Arrays;
//对数器
public class Logarithm {
/**
* @description: 生成随机数组
* @param maxSize 数组最大长度(随机)
* @param maxValue 数组中的最大值 最小值为1-N
* @return 随机数组
*/
public static int[] generateRandomArray(int maxSize, int maxValue) {
// Math.random() -> [0,1) 所有的小数,等概率返回一个
// Math.random() * N -> [0,N) 所有的小数,等概率返回一个
// (int)Math.random()*N -> [0,N-1] 所有的整数,等概率返回一个
int[] arr = new int[(int) ((maxSize + 1) * Math.random())]; //长度随机
for (int i = 0; i < arr.length; i++) {
// max= N min = 1-N
arr[i] = (int) ((maxValue + 1) * Math.random()) - (int) (maxValue * Math.random());
}
return arr;
}
/**
* @description: 将数组装化为非负数组
* @param arr 数组
* @return 非负数组
*/
public static int[] toPositiveNumber(int[] arr) {
for (int i = 0; i < arr.length; i++) {
arr[i] = arr[i] > 0 ? arr[i] : -arr[i];
}
return arr;
}
/**
* @description: 拷贝数组 (深拷贝)
* @param arr 原数组
* @return 新数组
*/
public static int[] copyArray(int[] arr) {
if (arr == null) {
return null;
}
int[] res = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
res[i] = arr[i];
}
return res;
}
/**
* @description: 判断两个数组是否相等
* @param arr1
* @param arr2
* @return
*/
public static boolean isEqual(int[] arr1, int[] arr2) {
if ((arr1 == null && arr2 != null) || (arr1 != null && arr2 == null)) {
return false;
}
if (arr1 == null && arr2 == null) {
return true;
}
if (arr1.length != arr2.length) {
return false;
}
for (int i = 0; i < arr1.length; i++) {
if (arr1[i] != arr2[i]) {
return false;
}
}
return true;
}
/**
* @description: 遍历数组
* @param arr
*/
public static void printArray(int[] arr) {
if (arr == null) {
return;
}
// for (int i = 0; i < arr.length; i++) {
// System.out.print(arr[i] + " ");
// }
Arrays.stream(arr).forEach(i->System.out.print(i+" "));
System.out.println();
}
}
【tools】数组对数器
于 2022-05-14 22:36:42 首次发布