Courses‎ > ‎AP Computer Science 2‎ > ‎konstantinovich‎ > ‎

2018-03-22

posted Mar 22, 2018, 6:26 AM by Konstantinovich Samuel   [ updated Mar 22, 2018, 11:28 AM ]
 Do now:-Read through the sort testing code (start witih main)-Discuss with neighbors and come up with a battery of tests for your sorts using this.-Run those tests on your sorts (both merge and quick) import java.util.Arrays; //Sort testing code private static final int INCREASE = 0; private static final int DECREASE = 1; private static final int STANDARD = 2; private static final int SMALL_RANGE = 3; private static final int EMPTY = 4; private static String name(int i){ if(i==0)return "Increassing"; if(i==1)return "Decreassing"; if(i==2)return "Normal Random"; if(i==3)return "Random with Few Values"; if(i==4)return "size 0 array"; return "Error stat array"; } private static int create(int min, int max){ return min + (int)(Math.random()*(max-min)); } private static int[]makeArray(int size,int type){ int[]ans =new int[size]; if(type == STANDARD){ for(int i = 0; i < size; i++){ ans[i]= create(-1000000,1000000); } } if(type == INCREASE){ int current = -5 * size; for(int i = 0; i < size; i++){ ans[i]= create(current,current + 10); current += 10; } } if(type == DECREASE){ int current = 5 * size; for(int i = 0; i < size; i++){ ans[i]= create(current,current + 10); current -= 10; } } if(type == SMALL_RANGE){ for(int i = 0; i < size; i++){ ans[i]= create(-5,5); } } if(type == EMPTY){ ans = new int[0]; } return ans; } public static void main(String[]args){ if(args.length < 2)return; int size = Integer.parseInt(args[0]); int type = Integer.parseInt(args[1]); int [] start = makeArray(size,type); int [] result = Arrays.copyOf(start,start.length); Arrays.sort(result); long startTime = System.currentTimeMillis(); /* * Test your sort here! */ long elapsedTime = System.currentTimeMillis() - startTime; if(Arrays.equals(start,result)){ System.out.println("PASS Case "+name(type)+" array, size:"+size+" "+elapsedTime/1000.0+"sec "); }else{ System.out.println("FAIL ! ERROR ! "+name(type)+" array, size:"+size+" ERROR!"); } }