java算法——自建对数器
用于验证所写算法是否正确,与java自带的函数方法进行比较,例如写一个排序算法,验证排序算法是否正确,采用Arrays.sort(arr) 的方式,与自己所写的算法进行比对,经过多轮(比较大的一个轮次)比对如果结果都一致,则说明所写算法正确,反之则有问题。
package class01; import java.util.Arrays; /* /对数器 */ public class Code_logmachine { public static void selectionSort(int[] arr){ if(arr==null||arr.length<2){ return; } for(int i=0;i<arr.length;i++){ int minindex=i; for(int j=i;j<arr.length;j++){ minindex= arr[j]<arr[minindex]?j:minindex; } swap(arr,i,minindex); } } public static void comparator(int[] arr){ Arrays.sort(arr); } public static void swap(int[] arr,int i,int j){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } public static int[] generateRandomArray(int maxSize, int maxValue) { int[] arr = new int[(int) ((maxSize + 1) * Math.random())]; for (int i = 0; i < arr.length; i++) { arr[i] = (int) ((maxValue + 1) * Math.random()) - (int) (maxValue * Math.random()); } return arr; } public static int [] copyArray(int [] arr){ if(arr==null){ return null; } int [] res=new int[arr.length]; for(int i=0;i<arr.length;i++){ res[i]=arr[i]; } return res; } public static boolean isEqual(int[] arr1, int[] arr2) { for(int i=0;i<arr1.length;i++){ if(arr1[i]!=arr2[i]) return false; } return true; } public static void main(String[] args) { int testtime=5000000; int maxsize=100; int maxvalue=100; boolean succeed =true; for(int i=0;i<testtime;i++){ int [] arr1=generateRandomArray(maxsize,maxvalue); int [] arr2=copyArray(arr1); selectionSort(arr1); comparator(arr2); if(!isEqual(arr1,arr2)){ succeed =false; break; } } System.out.println(succeed?"Nice!" :"xxxxx"); int arr[] =generateRandomArray(maxsize,maxvalue); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具