File tree Expand file tree Collapse file tree
main/java/com/thealgorithms/sorts
test/java/com/thealgorithms/sorts Expand file tree Collapse file tree Original file line number Diff line number Diff line change 490490 * [ BitonicSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BitonicSort.java )
491491 * [ BogoSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BogoSort.java )
492492 * [ BubbleSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSort.java )
493- * [ BubbleSortRecursion ] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSortRecursion .java )
493+ * [ BubbleSortRecursive ] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BubbleSortRecursive .java )
494494 * [ BucketSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BucketSort.java )
495495 * [ CircleSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/CircleSort.java )
496496 * [ CocktailShakerSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/CocktailShakerSort.java )
859859 * [ BinaryInsertionSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/BinaryInsertionSortTest.java )
860860 * [ BogoSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/BogoSortTest.java )
861861 * [ BubbleSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/BubbleSortTest.java )
862+ * [ BubbleSortRecursiveTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/BubbleSortRecursiveTest.java )
862863 * [ BucketSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/BucketSortTest.java )
863864 * [ CircleSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/CircleSortTest.java )
864865 * [ CocktailShakerSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/CocktailShakerSortTest.java )
Original file line number Diff line number Diff line change @@ -76,7 +76,6 @@ com.thealgorithms.searches.InterpolationSearch=UselessParentheses
7676com.thealgorithms.searches.KMPSearch =UselessParentheses
7777com.thealgorithms.searches.LinearSearchThread =EmptyCatchBlock
7878com.thealgorithms.searches.RabinKarpAlgorithm =UselessParentheses
79- com.thealgorithms.sorts.BubbleSortRecursion =UselessParentheses
8079com.thealgorithms.sorts.CircleSort =EmptyControlStatement
8180com.thealgorithms.sorts.CombSort =UselessParentheses
8281com.thealgorithms.sorts.DutchNationalFlagSort =UselessParentheses
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ package com .thealgorithms .sorts ;
2+
3+ /**
4+ * BubbleSort algorithm implemented using recursion
5+ */
6+ public class BubbleSortRecursive implements SortAlgorithm {
7+ /**
8+ * @param array - an array should be sorted
9+ * @return sorted array
10+ */
11+ @ Override
12+ public <T extends Comparable <T >> T [] sort (T [] array ) {
13+ bubbleSort (array , array .length );
14+ return array ;
15+ }
16+
17+ /**
18+ * BubbleSort algorithm implements using recursion
19+ *
20+ * @param array array contains elements
21+ * @param len length of given array
22+ */
23+ private static <T extends Comparable <T >> void bubbleSort (T [] array , int len ) {
24+ boolean swapped = false ;
25+ for (int i = 0 ; i < len - 1 ; ++i ) {
26+ if (SortUtils .greater (array [i ], array [i + 1 ])) {
27+ SortUtils .swap (array , i , i + 1 );
28+ swapped = true ;
29+ }
30+ }
31+ if (swapped ) {
32+ bubbleSort (array , len - 1 );
33+ }
34+ }
35+ }
Original file line number Diff line number Diff line change 1+ package com .thealgorithms .sorts ;
2+
3+ public class BubbleSortRecursiveTest extends SortingAlgorithmTest {
4+ @ Override
5+ SortAlgorithm getSortAlgorithm () {
6+ return new BubbleSortRecursive ();
7+ }
8+ }
You can’t perform that action at this time.
0 commit comments