diff --git a/.gitignore b/.gitignore index 38105ec..bdf1429 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,8 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -replay_pid* \ No newline at end of file +replay_pid* + +## Build folders +.out/ +.target/ \ No newline at end of file diff --git a/.idea/artifacts/sav_jar.xml b/.idea/artifacts/sav_jar.xml new file mode 100644 index 0000000..20edbef --- /dev/null +++ b/.idea/artifacts/sav_jar.xml @@ -0,0 +1,9 @@ + + + $PROJECT_DIR$/out/artifacts/sav_jar + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..7e0010e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/grahamedgecombe_jterminal.xml b/.idea/libraries/grahamedgecombe_jterminal.xml new file mode 100644 index 0000000..46577e9 --- /dev/null +++ b/.idea/libraries/grahamedgecombe_jterminal.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index babcbca..f346f33 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,13 @@ + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 9d1a80c..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/sorting-algorithm-visualisation.iml b/.idea/sorting-algorithm-visualisation.iml deleted file mode 100644 index c90834f..0000000 --- a/.idea/sorting-algorithm-visualisation.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/sorting-algorithm-visualization.iml b/.idea/sorting-algorithm-visualization.iml new file mode 100644 index 0000000..a80f8af --- /dev/null +++ b/.idea/sorting-algorithm-visualization.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index b04848c..143b97e 100644 --- a/README.md +++ b/README.md @@ -1 +1,16 @@ # Visualization of different sorting algorithms + +## How to build Maven? + +1. Main menu (alt + \) +2. Build -> build artifacts -> sav:jar -> build + +## How to run? + +open terminal in a folder with `.jar` file +``` bash +java -jar sav.jar +``` +======= + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2c46d12 --- /dev/null +++ b/pom.xml @@ -0,0 +1,42 @@ + + + 4.0.0 + + sorting.algorithm.visualization + sav + 1.0-SNAPSHOT + + 22 + 22 + UTF-8 + + + + io.github.shuoros + JTerminal + 1.0.2 + + + + + + maven-assembly-plugin + + + package + + single + + + + + + jar-with-dependencies + + + + + + \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java new file mode 100644 index 0000000..994514d --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,7 @@ +import ui.TestUI; + +public class Main { + public static void main(String[] args) { + TestUI.start(); + } +} diff --git a/src/algorithms/AlgorithmSort.java b/src/main/java/algorithms/AlgorithmSort.java similarity index 100% rename from src/algorithms/AlgorithmSort.java rename to src/main/java/algorithms/AlgorithmSort.java diff --git a/src/algorithms/BubbleSort.java b/src/main/java/algorithms/BubbleSort.java similarity index 100% rename from src/algorithms/BubbleSort.java rename to src/main/java/algorithms/BubbleSort.java diff --git a/src/main/java/ui/TestUI.java b/src/main/java/ui/TestUI.java new file mode 100644 index 0000000..f2394a3 --- /dev/null +++ b/src/main/java/ui/TestUI.java @@ -0,0 +1,26 @@ +package ui; + +import algorithms.BubbleSort; + +import java.util.ArrayList; +import java.util.List; + +public class TestUI { + public static void start() { + + ArrayList list = new ArrayList<>(List.of( + 10, 17, 9, 19, 15, 7, 6, 4, 7, 6, + 6, 20, 17, 6, 5, 8, 8, 5, 17, 18, + 16, 17, 10, 1, 18, 4, 6, 20, 9, 14, + 7, 4, 15, 7, 6, 2, 15, 15, 3, 1, 9, + 2, 19, 8, 16, 14, 19, 5, 20, 9 + )); + BubbleSort bubbleSort = new BubbleSort(list); + + bubbleSort.sort(); + + Utils.printArray(list); + } + + +} diff --git a/src/main/java/ui/Utils.java b/src/main/java/ui/Utils.java new file mode 100644 index 0000000..ce5151a --- /dev/null +++ b/src/main/java/ui/Utils.java @@ -0,0 +1,38 @@ +package ui; + +import io.github.shuoros.jterminal.JTerminal; + +import java.util.ArrayList; + +public abstract class Utils { + // change to ### view + public static void printArray(ArrayList arrayList) { + try { + Thread.sleep(10); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + JTerminal.clear(); + int line = findMax(arrayList); + StringBuilder sb = new StringBuilder(); + while (line >= 0) { + for (var element : arrayList) { + if (element > line) JTerminal.print("#"); + else JTerminal.print(" "); + } + JTerminal.println(""); + line--; + } + + } + + private static int findMax(ArrayList array) { + int max = 0; + for (var element : array) { + if (element > max) max = element; + } + return max; + } + + // fillArrayRandomlyMethod (between 1 and 100 for example) +} \ No newline at end of file diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..37197ef --- /dev/null +++ b/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: Main + diff --git a/src/ui/TestUI.java b/src/ui/TestUI.java deleted file mode 100644 index 5d31ee7..0000000 --- a/src/ui/TestUI.java +++ /dev/null @@ -1,24 +0,0 @@ -package ui; - -import algorithms.BubbleSort; - -import java.util.ArrayList; -import java.util.List; - - -public class TestUI { - public static void main(String[] args) { - ArrayList list = new ArrayList<>(List.of( - 5, 2, 1, 7, 9, 12, 15, 10 - )); - - BubbleSort bubbleSort = new BubbleSort(list); - - bubbleSort.sort(); - - Utils.printArray(list); - } - - - -} diff --git a/src/ui/Utils.java b/src/ui/Utils.java deleted file mode 100644 index 7fa59af..0000000 --- a/src/ui/Utils.java +++ /dev/null @@ -1,18 +0,0 @@ -package ui; - -import java.util.ArrayList; - -public abstract class Utils { - // change to ### view - public static void printArray(ArrayList arrayList) { - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - arrayList.forEach(s -> System.out.print(s + "\t")); - System.out.println(); - } - - // fillArrayRandomlyMethod (between 1 and 100 for example) -} \ No newline at end of file