diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index c8d9cd4..5ffbb1a 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -13,6 +13,7 @@
+
diff --git a/Module2/15UnionFind.pdf b/Slides/Module2/15UnionFind.pdf
similarity index 100%
rename from Module2/15UnionFind.pdf
rename to Slides/Module2/15UnionFind.pdf
diff --git a/Module3/14AnalysisOfAlgorithms.pdf b/Slides/Module3/14AnalysisOfAlgorithms.pdf
similarity index 100%
rename from Module3/14AnalysisOfAlgorithms.pdf
rename to Slides/Module3/14AnalysisOfAlgorithms.pdf
diff --git a/Module4/13StacksAndQueues.pdf b/Slides/Module4/13StacksAndQueues.pdf
similarity index 100%
rename from Module4/13StacksAndQueues.pdf
rename to Slides/Module4/13StacksAndQueues.pdf
diff --git a/Module5/21ElementarySorts.pdf b/Slides/Module5/21ElementarySorts.pdf
similarity index 100%
rename from Module5/21ElementarySorts.pdf
rename to Slides/Module5/21ElementarySorts.pdf
diff --git a/Module6/22Mergesort.pdf b/Slides/Module6/22Mergesort.pdf
similarity index 100%
rename from Module6/22Mergesort.pdf
rename to Slides/Module6/22Mergesort.pdf
diff --git a/Module7/23Quicksort.pdf b/Slides/Module7/23Quicksort.pdf
similarity index 100%
rename from Module7/23Quicksort.pdf
rename to Slides/Module7/23Quicksort.pdf
diff --git a/Module8/24PriorityQueues.pdf b/Slides/Module8/24PriorityQueues.pdf
similarity index 100%
rename from Module8/24PriorityQueues.pdf
rename to Slides/Module8/24PriorityQueues.pdf
diff --git a/Module9/31ElementarySymbolTables.pdf b/Slides/Module9/31ElementarySymbolTables.pdf
similarity index 100%
rename from Module9/31ElementarySymbolTables.pdf
rename to Slides/Module9/31ElementarySymbolTables.pdf
diff --git a/Module9/32BinarySearchTrees.pdf b/Slides/Module9/32BinarySearchTrees.pdf
similarity index 100%
rename from Module9/32BinarySearchTrees.pdf
rename to Slides/Module9/32BinarySearchTrees.pdf
diff --git a/clients/build.gradle b/clients/build.gradle
index 49c6430..d80e4c6 100644
--- a/clients/build.gradle
+++ b/clients/build.gradle
@@ -15,6 +15,7 @@ dependencies {
implementation project(':module4')
implementation project(':module5')
implementation project(':module6')
+ implementation project(':module7')
implementation project(':common')
testImplementation project(':common')
}
diff --git a/clients/src/main/java/com/hithomelabs/clients/module7/QuickSortClient.java b/clients/src/main/java/com/hithomelabs/clients/module7/QuickSortClient.java
new file mode 100644
index 0000000..2717419
--- /dev/null
+++ b/clients/src/main/java/com/hithomelabs/clients/module7/QuickSortClient.java
@@ -0,0 +1,22 @@
+package com.hithomelabs.clients.module7;
+
+import com.hithomelabs.princeton1.common.Apple;
+import com.hithomelabs.princeton1.module7.Quick;
+
+import java.util.Random;
+
+public class QuickSortClient {
+
+ public static void main(String[] args) {
+ int size = 100;
+ Apple[] apples = new Apple[size];
+ Quick quick = new Quick();
+
+ for (int i = 0; i < apples.length; i++) {
+ apples[i] = new Apple(new Random().nextInt(1000));
+ }
+ quick.sort(apples);
+ for (int i = 0; i < apples.length; i++)
+ System.out.println(apples[i]);
+ }
+}
diff --git a/module5/src/main/java/com/hithomelabs/princeton1/module5/AbstractCustomSorts.java b/module5/src/main/java/com/hithomelabs/princeton1/module5/AbstractCustomSorts.java
index 6fa211b..86bfbbd 100644
--- a/module5/src/main/java/com/hithomelabs/princeton1/module5/AbstractCustomSorts.java
+++ b/module5/src/main/java/com/hithomelabs/princeton1/module5/AbstractCustomSorts.java
@@ -6,9 +6,6 @@ public abstract class AbstractCustomSorts {
// TODO: Implement this method
public void exch(E[] arr, int j, int i) {
- E temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
}
// TODO: Implement this method
diff --git a/module7/build.gradle b/module7/build.gradle
new file mode 100644
index 0000000..921ffaa
--- /dev/null
+++ b/module7/build.gradle
@@ -0,0 +1,21 @@
+plugins {
+ id 'java'
+}
+
+group = 'com.hithomelabs.princeton1.module7'
+version = 'unspecified'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ testImplementation platform('org.junit:junit-bom:5.10.0')
+ testImplementation 'org.junit.jupiter:junit-jupiter'
+ implementation project(':module5')
+ testImplementation project(':common')
+}
+
+test {
+ useJUnitPlatform()
+}
\ No newline at end of file
diff --git a/module7/src/main/java/com/hithomelabs/princeton1/module7/Quick.java b/module7/src/main/java/com/hithomelabs/princeton1/module7/Quick.java
new file mode 100644
index 0000000..1483c7e
--- /dev/null
+++ b/module7/src/main/java/com/hithomelabs/princeton1/module7/Quick.java
@@ -0,0 +1,11 @@
+package com.hithomelabs.princeton1.module7;
+
+import com.hithomelabs.princeton1.module5.AbstractCustomSorts;
+
+
+public class Quick extends AbstractCustomSorts {
+ @Override
+ public void sort(E[] arr) {
+
+ }
+}
diff --git a/module7/src/test/java/com/hithomelabs/princeton1/module7/QuickTest.java b/module7/src/test/java/com/hithomelabs/princeton1/module7/QuickTest.java
new file mode 100644
index 0000000..3ff75b9
--- /dev/null
+++ b/module7/src/test/java/com/hithomelabs/princeton1/module7/QuickTest.java
@@ -0,0 +1,60 @@
+package com.hithomelabs.princeton1.module7;
+
+import com.hithomelabs.princeton1.common.Apple;
+import org.junit.jupiter.api.*;
+
+import java.util.ArrayList;
+import java.util.Random;
+import static org.junit.jupiter.api.Assertions.*;
+
+class QuickTest {
+
+ private Quick quick;
+ private ArrayList apples;
+ private Random random;
+
+ @BeforeEach
+ void setUp() {
+ quick = new Quick();
+ apples = new ArrayList();
+ random = new Random();
+ }
+
+ @Test
+ @DisplayName("testing Quick sort default implementation")
+ public void testSort(){
+
+ for(int i = 0; i < 100; i++)
+ apples.add(new Apple(random.nextInt(1000)));
+ Apple[] arr = apples.toArray(new Apple[apples.size()]);
+ quick.sort(arr);
+ apples.sort(null);
+ Apple[] sorted = apples.toArray(new Apple[apples.size()]);
+ Assertions.assertArrayEquals(sorted, arr);
+ }
+
+ // * * Optional test for alternate sort implmentation
+ /*
+ @Test
+ @DisplayName("testing Quick sort default implementation")
+ public void testAltSort(){
+
+ for(int i = 0; i < 100; i++)
+ apples.add(new Apple(random.nextInt(1000)));
+ Apple[] arr = apples.toArray(new Apple[apples.size()]);
+ quick.altSort(arr);
+ apples.sort(null);
+ Apple[] sorted = apples.toArray(new Apple[apples.size()]);
+ Assertions.assertArrayEquals(sorted, arr);
+ }
+ */
+
+
+
+ @AfterEach
+ void tearDown() {
+ quick = null;
+ apples = null;
+ random = null;
+ }
+}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index cd86a6c..f9e40b6 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -16,4 +16,5 @@ include 'clients'
include 'module5'
include 'module6'
include 'common'
+include 'module7'