目前针对基础的整数排序问题和数组较为实用。
public class AlgoUtils { /** * 对数器, 返回int数组 * @param maxLen 数组长度范围[0, maxLen-1] * @param maxValue 数组元素值范围[0, maxValue-1] * @return int[] */ public static int[] LogarithmicDetector(int maxLen, int maxValue) { int len = (int)(Math.random() * maxLen); int[] ans = new int[len]; for (int i = 0; i < len; i++) { ans[i] = (int)(Math.random() * maxValue); } return ans; } /** * 复制一个数组的值 * @param arr 数组 * @return */ public static int[] copyArray(int[] arr) { int[] ans = new int[arr.length]; for (int i = 0; i < arr.length; i++) { ans[i] = arr[i]; } return ans; } /** * arr1 与 arr2 等长 * @param arr1 * @param arr2 * @return */ public static boolean equalArray(int[] arr1, int[] arr2) { for (int i = 0; i < arr1.length; i++) { if (arr1[i] != arr2[i]) { return false; } } return true; } public static void printArray(int[] arr) { StringBuilder sb = new StringBuilder(); sb.append("[ "); for (int i = 0; i < arr.length; i++) { sb.append(arr[i]); if (i != arr.length - 1) { sb.append(", "); } } sb.append(" ]"); System.out.println(sb.toString()); } }