// Worked with Eric Wong on this import java.util.*; public class Sort { /* public void radixSort() { long start,end; Random r = new Random(); ArrayList[] buckets = new ArrayList[10]; for (int i=0; i<buckets.length; i++) { buckets[i] = new ArrayList(); } int[] numbers = new int[100]; for (int i=0; i<numbers.length; i++) { numbers[i] = r.nextInt(100); } int[]numbersCopy = numbers; System.out.println(Arrays.toString(numbers)); int power = 0; for (int i=0; i<numbers.length; i++) { if (numbers[i] > power) power = numbers[i]; } int maxPower = 0; while (power > 0) { power /= 10; maxPower++; } start = System.currentTimeMillis(); for (int n=0; n<maxPower; n++) { for (int i=0; i<numbers.length; i++) { int digit = (int) (numbers[i] / Math.pow(10, n)) % 10; buckets[digit].add(numbers[i]); } int numbersIndex = 0; for (int b=0; b<buckets.length; b++) { for (int e=0; e<buckets[b].size(); e++) { numbers[numbersIndex] = (Integer) buckets[b].get(e); numbersIndex++; } } for (int i=0; i<buckets.length; i++) { buckets[i] = new ArrayList(); } } end = System.currentTimeMillis(); System.out.println(Arrays.toString(numbers)); System.out.println(end - start); start = System.currentTimeMillis(); Arrays.sort(numbersCopy); end = System.currentTimeMillis(); System.out.println(end-start); } */ public void bubble() { double[] numbers = new double[10]; for (int i=0; i<numbers.length; i++) { numbers[i] = Math.random()*100; } double[] sort = numbers; int comp = 0; int swap = 0; for (int j=0;j<sort.length-1;j++) { for (int i=0;i<sort.length-1;i++) { if (sort[i]>sort[i+1]) { double small = sort[i+1]; sort[i+1] = sort[i]; sort[i] = small; swap++; } comp++; } } System.out.println(Arrays.toString(numbers)); System.out.println(Arrays.toString(sort)); System.out.println("Ifs: " + comp); System.out.println("Swaps: " + swap); } public static void main(String args[]) { Sort s = new Sort(); s.bubble(); } }