標籤:mat 最大值 @param generate ++ 工具類 數組 mes system
/** * 排序演算法工具類 */public class GeneratedArray { /** * * 產生隨機長度數組[min,max) * * @param min 最小值 * @param max 最大值 * @param num * @return */ public static int[] randomGeneratedArray(int min, int max, int num) { //斷言判斷 assert max>min:"數組產生範圍指定有誤"; int[] arr = new int[num]; for (int i = 0; i < arr.length; i++) { //隨機產生[min,max)範圍內的數字,並且存放到數組中 arr[i] = (int) (Math.random() * (max - min)) + min; } return arr; } /** * 產生一個近乎有序的數組 * @param n 數組產固定 * @param swapTimes 隨機交換多少個數字 * @return arr */ public static int[] generateNearlyOrderedArray(int n, int swapTimes){ int[] arr = new int[n]; for( int i = 0 ; i < n ; i ++ ) arr[i] = i; for( int i = 0 ; i < swapTimes ; i ++ ){ int a = (int)(Math.random() * n); int b = (int)(Math.random() * n); int t = arr[a]; arr[a] = arr[b]; arr[b] = t; } return arr; } /** * 列印數組 * @param arr 數組 */ public static void printArray(int[] arr){ for(int i:arr){ System.out.print(i+","); } System.out.println(); } /** * 判斷數組是否有序 * @param arr */ public static void isSorted(int[] arr){ for(int i = 0;i<arr.length-1;i++){ if(arr[i]>arr[i+1]){ System.out.println("數組不是有序"); return; } } System.out.println("數組有序"); } /** * 複製數組 * @param arr * @return */ public static int[] copyArray(int[] arr){ int[] arrs = new int[arr.length]; for (int i = 0;i<arrs.length;i++){ arrs[i] = arr[i]; } return arrs; }}
排序演算法工具類