Java教程

数据结构与算法工具类自用(不定时更新)

本文主要是介绍数据结构与算法工具类自用(不定时更新),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目前针对基础的整数排序问题和数组较为实用。

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());
	}
}
这篇关于数据结构与算法工具类自用(不定时更新)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!