Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'systemtap/org.eclipse.linuxtools.systemtap.structures/src/org/eclipse/linuxtools/systemtap/structures/Sort.java')
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.structures/src/org/eclipse/linuxtools/systemtap/structures/Sort.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.structures/src/org/eclipse/linuxtools/systemtap/structures/Sort.java b/systemtap/org.eclipse.linuxtools.systemtap.structures/src/org/eclipse/linuxtools/systemtap/structures/Sort.java
index 8d584fe853..4f38b31c20 100644
--- a/systemtap/org.eclipse.linuxtools.systemtap.structures/src/org/eclipse/linuxtools/systemtap/structures/Sort.java
+++ b/systemtap/org.eclipse.linuxtools.systemtap.structures/src/org/eclipse/linuxtools/systemtap/structures/Sort.java
@@ -21,12 +21,13 @@ public final class Sort {
* @param r Recursed value, initially bottom value.
*/
public static void quicksort(Object[] list, int p, int r) {
- if(null == list)
+ if(null == list) {
return;
- else if (p < r) {
+ } else if (p < r) {
int q = partition(list,p,r);
- if (q == r)
+ if (q == r) {
q--;
+ }
quicksort(list,p,q);
quicksort(list,q+1,r);
@@ -40,30 +41,35 @@ public final class Sort {
* @param p Recursed value, initially top value.
* @param r Recursed value, initially bottom value.
*/
+ @SuppressWarnings({ "unchecked", "rawtypes" })
private static int partition (Object[] list, int p, int r) {
Comparable pivot = (list[p] instanceof Comparable ? (Comparable)list[p] : list[p].toString());
int lo = p;
int hi = r;
while (true) {
- while (getComparable(list[hi]).compareTo(pivot) >= 0 && lo < hi)
+ while (getComparable(list[hi]).compareTo(pivot) >= 0 && lo < hi) {
hi--;
+ }
- while (getComparable(list[lo]).compareTo(pivot) < 0 && lo < hi)
+ while (getComparable(list[lo]).compareTo(pivot) < 0 && lo < hi) {
lo++;
+ }
if (lo < hi) {
Object T = list[lo];
list[lo] = list[hi];
list[hi] = T;
- } else
+ } else {
return hi;
+ }
}
}
+ @SuppressWarnings("rawtypes")
private static Comparable getComparable(Object o) {
return (o instanceof Comparable
? (Comparable)o
- : o.toString());
+ : o.toString());
}
}

Back to the top