码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法工具类

时间:2018-08-26 13:11:11      阅读:215      评论:0      收藏:0      [点我收藏+]

标签: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;
    }
}

 

排序算法工具类

标签:mat   最大值   @param   generate   ++   工具类   数组   mes   system   

原文地址:https://www.cnblogs.com/lfdestiny/p/9536846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!