对数器:利用系统产生多个随机样本,将系统排序的结果和自己写的程序输出结果进行比对,判断是否正确。

目录结构

  • SelectionSort.java
  • DataChecker.java

1 选择排序程序完整代码

package sortAlgorithm;public class SelectionSort {public static void sort(int[] arr) {// 初始定义// int[] arr = {5, 3, 6, 8, 1, 7, 9, 4, 2};// 初始输出System.out.print("初始输出:");print(arr);System.out.println("");// for循环完成全部元素的排序for (int i = 0; i < arr.length - 1; i++) {// 第i个位置int minPos = i;for (int j = i + 1; j < arr.length; j++) {minPos = arr[j] < arr[minPos] ? j : minPos;}// 输出第一遍遍历后最小位置坐标System.out.println("最小位置:" + minPos);// 交换函数swap(arr, i, minPos);}// 结尾输出System.out.print("排序结果:");print(arr);}// 交换方法static void swap(int[] arr, int i, int j) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}// 打印方法static void print(int[] arr) {for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}       }}

2.对数器完成代码

  • 使用Random随机函数随机产生一个数组
  • 使用Arrays函数利用系统排序Arrays.sort();
  • 调用了Selection.sort();
package sortAlgorithm;import java.util.Arrays;
import java.util.Random;public class DataChecker {// generateRandomArray方法,利用Random随机生成1000个10000以内的任意整数,并输出一个数组static int[] generateRandomArray() {Random r = new Random();int[] arr = new int[1000];for (int i = 0; i < arr.length; i++) {arr[i] = r.nextInt(10000);}return arr;}// 定义check方法,比对系统排序与自写程序的结果static void check() {int[] arr = generateRandomArray();int[] arr2 = new int[arr.length];// arr备份System.arraycopy(arr, 0, arr2, 0, arr.length);Arrays.sort(arr);           // 系统Array排序SelectionSort.sort(arr2);   // 自写程序排序boolean same = true;for (int i = 0; i < arr.length; i++) {if(arr[i] != arr2[i]) same = false;}System.out.println("\n" + (same == true ? "right" : "wrong"));}public static void main(String[] args) {check();}
}


Java | 使用对数器判断自己的程序是否正确(generateRandomArray)相关推荐

  1. 《Java编码指南:编写安全可靠程序的75条建议》—— 指南20:使用安全管理器创建一个安全的沙盒...

    本节书摘来异步社区<Java编码指南:编写安全可靠程序的75条建议>一书中的第1章,第1.20节,作者:[美]Fred Long(弗雷德•朗), Dhruv Mohindra(德鲁•莫欣达 ...

  2. python微信小程序 java电子书阅读器系统uniapp

    功能介绍 将系统权限按管理员和用户这两类涉及用户划分. (a) 管理员:管理员使用本系统涉到的功能主要有:个人中心.用户管理.类型管理.书城管理.管理员管理.系统管理等功能. (b)用户进入系统前台可 ...

  3. Java中apple导入那个包_在Java中,由Java编泽器自动导入而无需在程序中用import导入的包是()。A.java.appletB.java.awtC.j...

    在Java中,由Java编泽器自动导入而无需在程序中用import导入的包是().A.java.appletB.java.awtC.j 更多相关问题 问卷星是一个专业.无限制的免费在线问卷调查.测评. ...

  4. Java实现穷举_对数器实现(C++)

    主要参考左神的JAVA版的对数器实现,主要分为以下几个步骤: 产生随机数组或者字符串,本例产生随机数组 找一个绝对正确的方法,不管复杂度 对比自己实现的方法和绝对正确的方法的结果,若相同,则返回tru ...

  5. 数据结构与算法JC班-左程云第一节课笔记(认识复杂度、对数器、二分法与异或运算)

    第1节 认识复杂度.对数器.二分法与异或运算 程序=算法+数据结构,既然算法这么重要,每个人写出来的算法又不一样,那么怎么算是一个好的算法呢? 1.评估算法优劣的核心指标是什么? 时间复杂度(流程决定 ...

  6. 什么是对数器?对数器的作用是什么?

    对数器是什么? 通常我们在笔试的时候或者参加编程大赛的时候,自己实现了一个算法,但是不能够判断该算法是否完全没问题,如果在比赛平台上验证,通常只会告诉你有没有错误,出了错不会告诉你哪里有问题,对于排错 ...

  7. java dos编译命令是什么_在DOS命令行状态下,如果源程序HelloWorld.java在当前目录下,那么编译该程序的命令是()...

    [单选题]下列行为中,属于绝对商行为的是 [填空题]汽车故障的变化规律可分为3个阶段,早期故障期. 和 . [填空题]无分电器点火线圈与一般点火线圈不同,其 与 没有连接,为互感作用. [简答题]练习 ...

  8. 读书笔记——Java虚拟机垃圾收集器与内存分配策略

    本文章已授权微信公众号郭霖(guolin_blog)转载. 本文章讲解的内容是Java虚拟机垃圾收集器与内存分配策略. 概述 说起垃圾收集(Garbage Collection),也就是GC,大部分人 ...

  9. java的类加载器以及如何自定义类加载器

    ClassLoader作用 类加载流程的"加载"阶段是由类加载器完成的. 类加载器结构 结构:BootstrapClassLoader(祖父)–>ExtClassLoader ...

最新文章

  1. VS Code报错解决:Error: end of central directory record signature not found
  2. 蓝图跑酷游戏教学的项目文件
  3. POJ 3463 Sightseeing(次短路问题)
  4. python绘图函数
  5. 选什么地方,进多少商品,想开超市,这些必须了解
  6. c#怎么调用oracle存储过程,c# 调用oracle 存储过程、方法简易例子
  7. 微软大数据_我对Microsoft的数据科学采访
  8. dataframe修改列名_python dataframe操作大全数据预处理过程(dataframe、md5)
  9. python该怎样使用_Python 应该怎么去练习和使用?
  10. 02 ansible核心模块 之 shell script
  11. 每日一课(11/75)CPU资源和存储器 之 80x86 内存管理
  12. 0基础怎么学web前端?新手到大神的进阶路线在这!
  13. 文本框换行_word的段落标记与换行,你真的知道么?
  14. 网站采集工具免费采集发布网站后台
  15. 凸二次规划问题 库函数
  16. lda 协方差矩阵_LDA算法详解
  17. CSS美化超链接样式
  18. mac分区后数据丢失怎么恢复?
  19. Python 爬虫---百度首页
  20. 长微博android,凑合着用吧:Android版长微博

热门文章

  1. 如何理解lvs中DR模型的arp请求-arp_announce和arp_ignore
  2. Deploy过程出错解决
  3. 信息学奥赛一本通 1020:打印ASCII码 | OpenJudge NOI 1.2 07
  4. 理论基础 —— 线性表 —— 循环链表
  5. 最低通行费(信息学奥赛一本通-T1287)
  6. 最大数max(x,y,z)(信息学奥赛一本通-T1152)
  7. 信息学奥赛C++语言:可口可乐
  8. 信息学奥赛一本通C++语言——1035:等差数列末项计算
  9. 2 WM配置-企业结构-分配-给工厂和库存地点分配仓库号
  10. h5键盘把页面顶走了_微信h5开发的坑