File tree 5 files changed +45
-59
lines changed
main/java/com/thealgorithms/sorts
test/java/com/thealgorithms/sorts
5 files changed +45
-59
lines changed Original file line number Diff line number Diff line change 490
490
* [ BitonicSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BitonicSort.java )
491
491
* [ BogoSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BogoSort.java )
492
492
* [ 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 )
494
494
* [ BucketSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/BucketSort.java )
495
495
* [ CircleSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/CircleSort.java )
496
496
* [ CocktailShakerSort] ( https://github.com/TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/CocktailShakerSort.java )
859
859
* [ BinaryInsertionSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/BinaryInsertionSortTest.java )
860
860
* [ BogoSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/BogoSortTest.java )
861
861
* [ 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 )
862
863
* [ BucketSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/BucketSortTest.java )
863
864
* [ CircleSortTest] ( https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/sorts/CircleSortTest.java )
864
865
* [ 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
76
76
com.thealgorithms.searches.KMPSearch =UselessParentheses
77
77
com.thealgorithms.searches.LinearSearchThread =EmptyCatchBlock
78
78
com.thealgorithms.searches.RabinKarpAlgorithm =UselessParentheses
79
- com.thealgorithms.sorts.BubbleSortRecursion =UselessParentheses
80
79
com.thealgorithms.sorts.CircleSort =EmptyControlStatement
81
80
com.thealgorithms.sorts.CombSort =UselessParentheses
82
81
com.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