对数器

作者: 鸡杂面 | 来源:发表于2019-04-08 21:39 被阅读0次
学习视频截图

数组排序对数器

1.java有自己的数组复制方法和比较方法,要先导入java.util.Arrays包;

import java.util.Arrays;
//比较两个数组是否相等,返回布尔类型
Arrays.equals(arr,arr1);
//复制数组
arr = arr0.clone();

2.生成随机数组
Math.random()随机生成[0,1)之间的数(包括小数);

public static int[] generateRandomArray(int size,int value) {
            //生成[0,size]长度的数组;
            int[] arr = new int[(int) ((size + 1) * Math.random())];
            for(int i = 0; i < arr.length; i++) {
            //生成[-value,value]之间的值
                arr[i] = (int)(value * Math.random() - value * Math.random());
            }
            return arr;
        }

3.编写插入排序,用冒泡排序来检验

import java.util.Arrays;

public class Charu {
        public static void main(String[] args) {
            int testTime = 50000;
            int Maxsize =5;
            int Maxvalue = 100;
            boolean succeed = true;
            int[] arr=null,arr1=null;
            for(int j = 0; j < testTime; j++) {
                 int[] arr0 =generateRandomArray(Maxsize,Maxvalue);
                 arr = arr0.clone();
                 arr1 = arr.clone();
                
                charu(arr);
                RightSort(arr1);
                if(!Arrays.equals(arr,arr1)) {
                    succeed = false;
                    System.out.println(Arrays.toString(arr0));
                    System.out.println(Arrays.toString(arr));
                    System.out.println(Arrays.toString(arr1));
                }
            }
            System.out.println(Arrays.toString(arr));
            System.out.println(Arrays.toString(arr1));
            if(succeed == true) {
                System.out.println("Nice!");
            }else {
                System.out.println("No!");
            }
        }
    
        public static void charu(int[] arr) {
            if(arr == null || arr.length<2) {
                return;
            }
            else {
                for(int i = 1 ; i < arr.length ; i++) {
                    for(int j = i - 1 ; j >= 0 && arr[j] > arr[j + 1] ; j--) {
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
        } 
        
        //生成随机数组
        public static int[] generateRandomArray(int size,int value) {
            int[] arr = new int[(int) ((size + 1) * Math.random())];
            for(int i = 0; i < arr.length; i++) {
                arr[i] = (int)(value * Math.random() - value * Math.random());
            }
            return arr;
        }
        
        //冒泡排序,用来验证上面的排序方法
        public static void RightSort(int[] arr) {
            if(arr == null || arr.length<2) {
                return;
            }
            for(int i = arr.length; i > 0; i--) {
                for(int j = 1; j < i ; j++) {
                    if(arr[j] < arr[j - 1]) {
                        int temp = arr[j];
                        arr[j] = arr[j - 1];
                        arr[j - 1] = temp;  
                    }
                }
            }
        }   
}

相关文章

  • 对数器

    0,有一个你想要测试的方法a 1,实现一个绝对正确的但是复杂度不好的方法b 2,实现一个随机样本产生器 3,实现比...

  • 对数器

    数组排序对数器 1.java有自己的数组复制方法和比较方法,要先导入java.util.Arrays包; 2.生成...

  • 算法-对数器

    对数器的概念和使用 0、有一个你想测的方法1、实现一个绝对正确但是复杂度不好的方法b2、实现一个随机样本产生器3、...

  • 选择排序、对数器

  • Django中的session的使用

    一、Session 的概念 cookie 是在浏览器端保存键值对数据,而 session 是在服务器端保存键值对数...

  • Java二级第三套

    1.cpu主要包括运算器和控制器两部分,运算器负责对数据进行加工处理,也就是对数据进行算术运算和逻辑运算;控制器负...

  • Django中的session的使用

    一、Session的概念 cookie是在浏览器端保存键值对数据,而session是在服务器端保存键值对数据 se...

  • 迭代器

    什么是迭代器:(遍历数据结构用的) 迭代器就是对数据结构遍历,如同for循环对数组遍历一样。对各种集合提供一个统一...

  • 对数器的概念和使用

    可在测试中使用 1、有一个你想要测的方法a2、实现复杂度不好但是容易实现的方法b3、实现一个随机样本产生器4、把方...

  • js里关于Array.prototype.sort分析及日常使用

    介绍 对数组内容进行排序,可传入比较器定义排序规则 使用 arr.sort(compare) compare比较器...

网友评论

      本文标题:对数器

      本文链接:https://www.haomeiwen.com/subject/jofmiqtx.html