import java.util.*; import java.io.*; public class Sort { private int[] nums; private Random r = new Random(); private int g; public Sort(){ g = r.nextInt(25) + 1; nums = new int[g]; for (int i = 0; i < g; i++) nums[i] = r.nextInt(10); } public String toString() { String s = ""; for (int i = 0; i<g;i++) s = s + nums[i] + ", "; return s; } public void bSort(){ boolean done = false; int n = 0; int i = 0; int s = 0; int c = 0; while (!done){ done = true; for (i=0; i < g - 1; i++){ c++; if (nums[i] > nums[i+1]){ n = nums[i]; nums[i] = nums[i+1]; nums[i+1] = n; done = false; s++; } } } System.out.println("Comparisons: " + c); System.out.println("Swaps: " + s); //return nums; } public void sSort() { int x, y; int s = 0; int c = 0; for (int i = 0; i < nums.length; i++) { x = nums[i]+1; y = 0; for (int j = i; j<nums.length; j++) { c++; if (nums[j] < x) { x = nums[j]; y = j; } } nums[y] = nums[i]; nums[i] = x; s++; } System.out.println("Comparisons: " + c); System.out.println("Swaps: " + s); } public void iSort() { int x, j; int c = 0; int s = 0; for (int i = 1; i < nums.length; i++) { x = nums[i]; j = i; while (j > 0 && x < nums[j-1]) { c++; s++; nums[j] = nums[j-1]; nums[j-1] = x; j--; } if (j > 0) c++; } System.out.println("Comparisons: " + c); System.out.println("Swaps: " + s); } //this is not my code***** /* private int Min = 0; private int Max = 10; private ArrayList[] buckets = new ArrayList[10]; private int[] data = new int[10]; public void fill() { Random r = new Random(); for(int i=0;i<data.length;i++){ data[i] = Min + (int)(Math.random() * ((Max - Min) + 1)); } } public String sort() { System.out.println("Original array: " + Arrays.toString(data)); for (int i=0;i<buckets.length;i++){ buckets[i]=new ArrayList(); } int place = 1; while (Max % place < Max) { for (int i=0;i<data.length;i++){ buckets[(data[i]/place) % 10].add(data[i]); } place = place * 10; int i = 0; for (int j=0;j<buckets.length;j++){ while (buckets[j].size() > 0){ data[i] = (Integer)buckets[j].get(0); buckets[j].remove(0); i = i + 1; } } } System.out.println("Sorted array: " + Arrays.toString(data)); return Arrays.toString(data); } */ }