diff --git a/module7/src/main/java/com/hithomelabs/princeton1/module7/Quick.java b/module7/src/main/java/com/hithomelabs/princeton1/module7/Quick.java index c3e4c40..1483c7e 100644 --- a/module7/src/main/java/com/hithomelabs/princeton1/module7/Quick.java +++ b/module7/src/main/java/com/hithomelabs/princeton1/module7/Quick.java @@ -6,49 +6,6 @@ import com.hithomelabs.princeton1.module5.AbstractCustomSorts; public class Quick extends AbstractCustomSorts { @Override public void sort(E[] arr) { - int N = arr.length; - quickSort(arr, 0, N - 1); - } - - public void altSort(E[] arr) { - int N = arr.length; - altQuickSort(arr, 0, N-1); - } - - private void altQuickSort(E[] arr, int lo, int hi) { - if (lo >= hi) return; - int i = lo + 1; - int j = i; - while(j <= hi){ - if(less((Comparable) arr[j], arr[lo])){ - exch(arr, i, j); - i++; - } - j++; - } - exch(arr, i-1, lo); - altQuickSort(arr, lo, i-2); - altQuickSort(arr, i, hi); - } - - private void quickSort(E[] arr, int lo, int hi) { - - if (lo >= hi) return; - int i = lo; - int j = hi+1; - while(true){ - while(less((Comparable) arr[++i], arr[lo])){ - if(i == hi) break; - } - while(!less((Comparable) arr[--j], arr[lo])){ - if (j == lo ) break; - } - if(j<=i) break; - exch(arr, i , j); - } - exch(arr, j, lo); - quickSort(arr, lo, j-1); - quickSort(arr, j+1, hi); } } diff --git a/module7/src/test/java/com/hithomelabs/princeton1/module7/QuickTest.java b/module7/src/test/java/com/hithomelabs/princeton1/module7/QuickTest.java index e252c68..3ff75b9 100644 --- a/module7/src/test/java/com/hithomelabs/princeton1/module7/QuickTest.java +++ b/module7/src/test/java/com/hithomelabs/princeton1/module7/QuickTest.java @@ -33,6 +33,8 @@ class QuickTest { Assertions.assertArrayEquals(sorted, arr); } + // * * Optional test for alternate sort implmentation + /* @Test @DisplayName("testing Quick sort default implementation") public void testAltSort(){ @@ -45,6 +47,8 @@ class QuickTest { Apple[] sorted = apples.toArray(new Apple[apples.size()]); Assertions.assertArrayEquals(sorted, arr); } + */ + @AfterEach