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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy