From 97d416e64e0093bd28f64c36c9d29b59137d569e Mon Sep 17 00:00:00 2001 From: Alex Klymenko Date: Sat, 20 Jul 2024 21:28:06 +0200 Subject: [PATCH] refactor: cleanup `StoogeSort` (#5283) * refactor: cleanup StoogeSort * refactor: update DIRECTORY.md for StoogeSortTest --------- Co-authored-by: Alex Klymenko --- DIRECTORY.md | 1 + .../com/thealgorithms/sorts/StoogeSort.java | 29 ++++--------------- .../thealgorithms/sorts/StoogeSortTest.java | 12 ++++++++ 3 files changed, 19 insertions(+), 23 deletions(-) create mode 100644 src/test/java/com/thealgorithms/sorts/StoogeSortTest.java diff --git a/DIRECTORY.md b/DIRECTORY.md index ef7d163a5..0c14970bf 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -891,6 +891,7 @@ * [SortingAlgorithmTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/SortingAlgorithmTest.java) * [SortUtilsRandomGeneratorTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/SortUtilsRandomGeneratorTest.java) * [SortUtilsTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/SortUtilsTest.java) + * [StoogeSortTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/StoogeSortTest.java) * [StrandSortTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/StrandSortTest.java) * [SwapSortTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/SwapSortTest.java) * [TimSortTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/TimSortTest.java) diff --git a/src/main/java/com/thealgorithms/sorts/StoogeSort.java b/src/main/java/com/thealgorithms/sorts/StoogeSort.java index 330f9752d..258301096 100644 --- a/src/main/java/com/thealgorithms/sorts/StoogeSort.java +++ b/src/main/java/com/thealgorithms/sorts/StoogeSort.java @@ -7,9 +7,12 @@ package com.thealgorithms.sorts; public class StoogeSort implements SortAlgorithm { @Override - public > T[] sort(T[] unsortedArray) { - sort(unsortedArray, 0, unsortedArray.length); - return unsortedArray; + public > T[] sort(T[] array) { + if (array.length == 0) { + return array; + } + sort(array, 0, array.length); + return array; } public > T[] sort(T[] unsortedArray, int start, int end) { @@ -28,24 +31,4 @@ public class StoogeSort implements SortAlgorithm { } return unsortedArray; } - - public static void main(String[] args) { - StoogeSort stoogeSort = new StoogeSort(); - - Integer[] integerArray = {8, 84, 53, 953, 64, 2, 202}; - // Print integerArray unsorted - SortUtils.print(integerArray); - - stoogeSort.sort(integerArray); - // Print integerArray sorted - SortUtils.print(integerArray); - - String[] stringArray = {"g", "d", "a", "b", "f", "c", "e"}; - // Print stringArray unsorted - SortUtils.print(stringArray); - - stoogeSort.sort(stringArray); - // Print stringArray sorted - SortUtils.print(stringArray); - } } diff --git a/src/test/java/com/thealgorithms/sorts/StoogeSortTest.java b/src/test/java/com/thealgorithms/sorts/StoogeSortTest.java new file mode 100644 index 000000000..e230ac2ac --- /dev/null +++ b/src/test/java/com/thealgorithms/sorts/StoogeSortTest.java @@ -0,0 +1,12 @@ +package com.thealgorithms.sorts; + +public class StoogeSortTest extends SortingAlgorithmTest { + protected int getGeneratedArraySize() { + return 1000; + } + + @Override + SortAlgorithm getSortAlgorithm() { + return new StoogeSort(); + } +}