01 public void 3Sorts(E[] data, Comparator<E> c) { 02 for (int i = 0; i <= data.length; i++) { 03 for (int j = i; j < data.length; j++) 04 int temp = data[j]; 05 if (data[j] > data[j + 1]) { 06 swap(data[j], data[j + 1]; 07 } 08 } 09 } 10 } 11 12 13 private E getMinimum(E[] data, Comparator<E> c) 14 int min = data[0]; 15 for (int i = 0; i < data.length; i += 2) { 16 if (c.compare(min, data[i]) < 0) { 17 min = data[i]; 18 } 19 } 20 return min; 21 }
Fix the bubble sort so that it has BigO(n) when it runs on a sorted array.
public void bubbleSort(E[] data, Comparator<E> c) { for (int i = 0; i < data.length; i++) { for (int j = 0; j < data.length - i; j++) { if (c.compare(data[j], data[j + 1]) > 0) { swap(data[j], data[j + 1]); } } } }