From 7acf4bd6ca0782e2ed282b33cf47190ece064ef1 Mon Sep 17 00:00:00 2001 From: bruch-alex Date: Tue, 15 Oct 2024 15:54:32 +0200 Subject: [PATCH 1/2] add broken maven. We need to fix it --- .idea/compiler.xml | 13 ++++ .idea/encodings.xml | 7 +++ .idea/jarRepositories.xml | 20 +++++++ .idea/libraries/grahamedgecombe_jterminal.xml | 10 ++++ .idea/misc.xml | 8 +++ .idea/sorting-algorithm-visualisation.iml | 7 +-- pom.xml | 60 +++++++++++++++++++ src/main/java/Main.java | 7 +++ .../java}/algorithms/AlgorithmSort.java | 0 .../java}/algorithms/BubbleSort.java | 0 src/main/java/ui/TestUI.java | 26 ++++++++ src/main/java/ui/Utils.java | 38 ++++++++++++ src/ui/TestUI.java | 24 -------- src/ui/Utils.java | 18 ------ 14 files changed, 191 insertions(+), 47 deletions(-) create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/libraries/grahamedgecombe_jterminal.xml create mode 100644 pom.xml create mode 100644 src/main/java/Main.java rename src/{ => main/java}/algorithms/AlgorithmSort.java (100%) rename src/{ => main/java}/algorithms/BubbleSort.java (100%) create mode 100644 src/main/java/ui/TestUI.java create mode 100644 src/main/java/ui/Utils.java delete mode 100644 src/ui/TestUI.java delete mode 100644 src/ui/Utils.java diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..6d609cd --- /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/sorting-algorithm-visualisation.iml b/.idea/sorting-algorithm-visualisation.iml index c90834f..a80f8af 100644 --- a/.idea/sorting-algorithm-visualisation.iml +++ b/.idea/sorting-algorithm-visualisation.iml @@ -1,11 +1,8 @@ - - - + + - - \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..17b3b10 --- /dev/null +++ b/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + sorting.algorithm.visualization + sar + 1.0-SNAPSHOT + + 22 + 22 + UTF-8 + + + + io.github.shuoros + JTerminal + 1.0.2 + + + + + + maven-assembly-plugin + + + package + + single + + + + + + jar-with-dependencies + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.1.0 + + + + true + lib/ + Main + + + + + + + + + \ 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/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 From ff49037f2c6e9ae99438213ceb5d4541e190aedd Mon Sep 17 00:00:00 2001 From: bruch-alex Date: Wed, 16 Oct 2024 10:07:45 +0200 Subject: [PATCH 2/2] update readme, fix small bug, fix typo and rename jar output file --- .gitignore | 6 +++++- .idea/artifacts/sav_jar.xml | 9 +++++++++ .idea/compiler.xml | 2 +- .idea/modules.xml | 8 -------- ...ml => sorting-algorithm-visualization.iml} | 0 README.md | 14 ++++++++++++- pom.xml | 20 +------------------ src/main/resources/META-INF/MANIFEST.MF | 3 +++ 8 files changed, 32 insertions(+), 30 deletions(-) create mode 100644 .idea/artifacts/sav_jar.xml delete mode 100644 .idea/modules.xml rename .idea/{sorting-algorithm-visualisation.iml => sorting-algorithm-visualization.iml} (100%) create mode 100644 src/main/resources/META-INF/MANIFEST.MF 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 index 6d609cd..7e0010e 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -6,7 +6,7 @@ - + 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-visualization.iml similarity index 100% rename from .idea/sorting-algorithm-visualisation.iml rename to .idea/sorting-algorithm-visualization.iml diff --git a/README.md b/README.md index 866e988..32f7140 100644 --- a/README.md +++ b/README.md @@ -1 +1,13 @@ -# sorting-algorithm-visualisation \ No newline at end of file +# sorting-algorithm-visualisation + +## How to build? + +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 index 17b3b10..2c46d12 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 sorting.algorithm.visualization - sar + sav 1.0-SNAPSHOT 22 @@ -37,24 +37,6 @@ - - - - org.apache.maven.plugins - maven-jar-plugin - 3.1.0 - - - - true - lib/ - Main - - - - - - \ 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 +