Skip to content

Commit a8b579e

Browse files
#6336/enhancement/Refactor: Standardize comparison logic using SortUtils (#6442)
* Refactoring compareTo() to SortUtils methods * Adding formatting * Removed excess parenthesis --------- Co-authored-by: Deniz Altunkapan <93663085+DenizAltunkapan@users.noreply.github.com>
1 parent 2eb80fb commit a8b579e

12 files changed

+19
-19
lines changed

src/main/java/com/thealgorithms/sorts/AdaptiveMergeSort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ private <T extends Comparable<T>> void merge(T[] array, T[] aux, int low, int mi
3030
array[k] = aux[j++];
3131
} else if (j > high) {
3232
array[k] = aux[i++];
33-
} else if (aux[j].compareTo(aux[i]) < 0) {
33+
} else if (SortUtils.less(aux[j], aux[i])) {
3434
array[k] = aux[j++];
3535
} else {
3636
array[k] = aux[i++];

src/main/java/com/thealgorithms/sorts/BinaryInsertionSort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public <T extends Comparable<T>> T[] sort(T[] array) {
2222

2323
while (low <= high) {
2424
final int mid = (low + high) >>> 1;
25-
if (temp.compareTo(array[mid]) < 0) {
25+
if (SortUtils.less(temp, array[mid])) {
2626
high = mid - 1;
2727
} else {
2828
low = mid + 1;

src/main/java/com/thealgorithms/sorts/BitonicSort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ private <T extends Comparable<T>> void bitonicMerge(T[] array, int low, int cnt,
6464
if (cnt > 1) {
6565
final int k = cnt / 2;
6666

67-
final BiPredicate<T, T> areSorted = (direction == Direction.ASCENDING) ? (a, b) -> a.compareTo(b) < 0 : (a, b) -> a.compareTo(b) > 0;
67+
final BiPredicate<T, T> areSorted = (direction == Direction.ASCENDING) ? (a, b) -> SortUtils.less(a, b) : (a, b) -> SortUtils.greater(a, b);
6868
for (int i = low; i < low + k; i++) {
6969
if (!areSorted.test(array[i], array[i + k])) {
7070
SortUtils.swap(array, i, i + k);

src/main/java/com/thealgorithms/sorts/BucketSort.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ private <T extends Comparable<T>> int hash(final T element, final T min, final T
111111
private <T extends Comparable<T>> T findMin(T[] array) {
112112
T min = array[0];
113113
for (T element : array) {
114-
if (element.compareTo(min) < 0) {
114+
if (SortUtils.less(element, min)) {
115115
min = element;
116116
}
117117
}
@@ -121,7 +121,7 @@ private <T extends Comparable<T>> T findMin(T[] array) {
121121
private <T extends Comparable<T>> T findMax(T[] array) {
122122
T max = array[0];
123123
for (T element : array) {
124-
if (element.compareTo(max) > 0) {
124+
if (SortUtils.greater(element, max)) {
125125
max = element;
126126
}
127127
}

src/main/java/com/thealgorithms/sorts/CircleSort.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ private <T extends Comparable<T>> boolean doSort(final T[] array, final int left
3636
int high = right;
3737

3838
while (low < high) {
39-
if (array[low].compareTo(array[high]) > 0) {
39+
if (SortUtils.greater(array[low], array[high])) {
4040
SortUtils.swap(array, low, high);
4141
swapped = true;
4242
}
4343
low++;
4444
high--;
4545
}
4646

47-
if (low == high && array[low].compareTo(array[high + 1]) > 0) {
47+
if (low == high && SortUtils.greater(array[low], array[high + 1])) {
4848
SortUtils.swap(array, low, high + 1);
4949
swapped = true;
5050
}

src/main/java/com/thealgorithms/sorts/DutchNationalFlagSort.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ private <T extends Comparable<T>> T[] dutchNationalFlagSort(final T[] array, fin
2626
int k = array.length - 1;
2727

2828
while (j <= k) {
29-
if (0 > array[j].compareTo(intendedMiddle)) {
29+
if (SortUtils.less(array[j], intendedMiddle)) {
3030
SortUtils.swap(array, i, j);
3131
j++;
3232
i++;
33-
} else if (0 < array[j].compareTo(intendedMiddle)) {
33+
} else if (SortUtils.greater(array[j], intendedMiddle)) {
3434
SortUtils.swap(array, j, k);
3535
k--;
3636
} else {

src/main/java/com/thealgorithms/sorts/ExchangeSort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class ExchangeSort implements SortAlgorithm {
3131
public <T extends Comparable<T>> T[] sort(T[] array) {
3232
for (int i = 0; i < array.length - 1; i++) {
3333
for (int j = i + 1; j < array.length; j++) {
34-
if (array[i].compareTo(array[j]) > 0) {
34+
if (SortUtils.greater(array[i], array[j])) {
3535
SortUtils.swap(array, i, j);
3636
}
3737
}

src/main/java/com/thealgorithms/sorts/IntrospectiveSort.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ private static <T extends Comparable<T>> int partition(T[] array, final int low,
6363
final T pivot = array[high];
6464
int i = low - 1;
6565
for (int j = low; j < high; j++) {
66-
if (array[j].compareTo(pivot) <= 0) {
66+
if (SortUtils.greaterOrEqual(pivot, array[j])) {
6767
i++;
6868
SortUtils.swap(array, i, j);
6969
}
@@ -84,7 +84,7 @@ private static <T extends Comparable<T>> void insertionSort(T[] array, final int
8484
for (int i = low + 1; i <= high; i++) {
8585
final T key = array[i];
8686
int j = i - 1;
87-
while (j >= low && array[j].compareTo(key) > 0) {
87+
while (j >= low && SortUtils.greater(array[j], key)) {
8888
array[j + 1] = array[j];
8989
j--;
9090
}
@@ -125,10 +125,10 @@ private static <T extends Comparable<T>> void heapify(T[] array, final int i, fi
125125
final int right = 2 * i + 2;
126126
int largest = i;
127127

128-
if (left < n && array[low + left].compareTo(array[low + largest]) > 0) {
128+
if (left < n && SortUtils.greater(array[low + left], array[low + largest])) {
129129
largest = left;
130130
}
131-
if (right < n && array[low + right].compareTo(array[low + largest]) > 0) {
131+
if (right < n && SortUtils.greater(array[low + right], array[low + largest])) {
132132
largest = right;
133133
}
134134
if (largest != i) {

src/main/java/com/thealgorithms/sorts/OddEvenSort.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public <T extends Comparable<T>> T[] sort(T[] array) {
3030
private <T extends Comparable<T>> boolean performOddSort(T[] array) {
3131
boolean sorted = true;
3232
for (int i = 1; i < array.length - 1; i += 2) {
33-
if (array[i].compareTo(array[i + 1]) > 0) {
33+
if (SortUtils.greater(array[i], array[i + 1])) {
3434
SortUtils.swap(array, i, i + 1);
3535
sorted = false;
3636
}
@@ -41,7 +41,7 @@ private <T extends Comparable<T>> boolean performOddSort(T[] array) {
4141
private <T extends Comparable<T>> boolean performEvenSort(T[] array) {
4242
boolean sorted = true;
4343
for (int i = 0; i < array.length - 1; i += 2) {
44-
if (array[i].compareTo(array[i + 1]) > 0) {
44+
if (SortUtils.greater(array[i], array[i + 1])) {
4545
SortUtils.swap(array, i, i + 1);
4646
sorted = false;
4747
}

src/main/java/com/thealgorithms/sorts/SelectionSort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public <T extends Comparable<T>> T[] sort(T[] array) {
2121
private static <T extends Comparable<T>> int findIndexOfMin(T[] array, final int startIndex) {
2222
int minIndex = startIndex;
2323
for (int i = startIndex + 1; i < array.length; i++) {
24-
if (array[i].compareTo(array[minIndex]) < 0) {
24+
if (SortUtils.less(array[i], array[minIndex])) {
2525
minIndex = i;
2626
}
2727
}

0 commit comments

Comments
 (0)