zoukankan      html  css  js  c++  java
  • 对数器

    写完算法需要大量测试,需要生成测试数据和测试自己的算法是否正确,一个对数器至少需要三个功能,1.生成大量测试数据,2.找一个绝对正确的算法,3.测试

    代码如下:

     1 package com.sort.demo;
     2 
     3 import java.lang.reflect.Array;
     4 import java.util.Arrays;
     5 import java.util.Random;
     6 
     7 public class Test {
     8 
     9     /**
    10      *随机数值发生器
    11      * @param size 最大长度
    12      * @param value 最大值
    13      * @return
    14      */
    15     public  static int[] generateRandomArray(int size,int value){
    16         int[] arr=new int[(int)((size+1)*Math.random())];
    17         for (int i=0;i<arr.length;i++){
    18             arr[i]=(int)((int)(value+1)*Math.random()-(int)(value+1)*Math.random());
    19         }
    20         return arr;
    21     }
    22 
    23     /**
    24      * 绝对正确的方法
    25      * @param arr
    26      */
    27     public static void rightMethod(int[] arr){
    28         Arrays.sort(arr);
    29     }
    30 
    31     public static int[] copyArr(int[] arr){
    32         int[] arr1=new int[arr.length];
    33         for(int i=0;i<arr.length;i++){
    34             arr1[i]=arr[i];
    35         }
    36         return arr1;
    37     }
    38 
    39     public static void test(Sort sort){
    40         int test=500000;
    41         int size=10;
    42         int value=100;
    43         for (int i=0;i<test;i++){
    44             int[] arr1 = generateRandomArray(size, value);
    45             int[] arr2=copyArr(arr1);
    46             int[] arr3=copyArr(arr1);
    47             sort.sort(arr2);
    48             rightMethod(arr3);
    49             for(int j=0;j<arr2.length;j++){
    50                 if (arr2[j]!=arr3[j]){
    51                     for(int k=0;k<arr1.length;k++){
    52                         System.out.print(arr1[k]+"	");
    53                         if (k==arr1.length-1){
    54                             System.out.println();
    55                         }
    56                     }
    57                    break;
    58                 }
    59             }
    60         }
    61 
    62     }
    63 
    64 }
    对数器
  • 相关阅读:
    人脉是麻烦出来的
    oracle撤销表空间和回滚段
    linux虚拟机ip地址更改
    linux各个文件夹的用途
    Apache的配置文件http.conf参数含义详解
    账户管理_新建用户_用户组
    【刷题】BZOJ 3994 [SDOI2015]约数个数和
    【刷题】BZOJ 2301 [HAOI2011]Problem b
    【刷题】洛谷 P3455 [POI2007]ZAP-Queries
    【刷题】BZOJ 2820 YY的GCD
  • 原文地址:https://www.cnblogs.com/zqr99/p/11834444.html
Copyright © 2011-2022 走看看