本文整理了Java中org.jruby.util.Qsort
类的一些代码示例,展示了Qsort
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Qsort
类的具体详情如下:
包路径:org.jruby.util.Qsort
类名称:Qsort
暂无
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
private static void endTest(Object[] a, int lo, int hi, Comparator c) {
if (c.compare(a[lo], a[lo + 1]) <= 0) {
if (c.compare(a[hi - 2], a[hi - 1]) > 0) {
bubbleUp(a, lo, hi-1, c);
}
} else {
if (c.compare(a[hi - 2], a[hi - 1]) > 0) {
insertionsort(a, lo, hi, c);
} else {
bubbleDown(a, lo, hi-1, c);
}
}
}
代码示例来源:origin: org.jruby/jruby-complete
private static boolean revtest(Object[] a, int lo, int hi, Comparator c) {
for (int i = lo + 1; i < hi - 2; ++i) {
if (c.compare(a[i], a[i + 1]) < 0) {
return false;
}
}
// reverse the entire area of the array selected if it's reversed.
int i = lo;
int j = hi - 1;
while (i < j) {
swap(a, i++, j--);
}
endTest(a, lo, hi, c);
return true;
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
public static void sort(Object[] a, int begin, int end, Comparator c) {
if (begin < end) {
if((end - begin) < SIZE_THRESHOLD) {
insertionsort(a, begin, end, c);
return;
}
quicksort_loop(a, begin, end, c);
}
}
代码示例来源:origin: org.jruby/jruby-complete
m1 = med3(a[lo + t], a[lo + t * 2], a[lo + t * 3], c);
m3 = med3(a[midi + t], a[midi + t * 2], a[midi + t * 3], c);
} else {
mid = med3(m1, mid, m3, c);
if (seqtest(a, lo, hi, c)) {
entry = null;
continue;
if (revtest(a, lo, hi, c)) {
entry = null;
continue;
int[] p = partition(a, lo, hi, mid, c);
entry[0] = p[1];
entry[1] = hi;
insertionsort(a, lo, p[0], c);
} else if (p[0] - lo > SIZE_THRESHOLD) {
entry[0] = lo;
entry[1] = p[0];
insertionsort(a, p[1], hi, c);
} else {
insertionsort(a, lo, p[0], c);
insertionsort(a, p[1], hi, c);
entry = null;
代码示例来源:origin: org.jruby/jruby-core
private static boolean seqtest(Object[] a, int lo, int hi, Comparator c) {
for (int i = lo + 1; i < hi - 2; ++i) {
if (c.compare(a[i], a[i + 1]) > 0) {
return false;
}
}
endTest(a, lo, hi, c);
return true;
}
代码示例来源:origin: org.jruby/jruby-core
if (c == 0) {
if (i > lo) {
swap(a, lo++, i);
} else {
lo++;
swap(a, i, j);
swap(a, lo++, i);
} else {
lo++;
swap(a, i, j);
swap(a, lo1++, c--);
代码示例来源:origin: org.jruby/jruby-core
m1 = med3(a[lo + t], a[lo + t * 2], a[lo + t * 3], c);
m3 = med3(a[midi + t], a[midi + t * 2], a[midi + t * 3], c);
} else {
mid = med3(m1, mid, m3, c);
if (seqtest(a, lo, hi, c)) {
entry = null;
continue;
if (revtest(a, lo, hi, c)) {
entry = null;
continue;
int[] p = partition(a, lo, hi, mid, c);
entry[0] = p[1];
entry[1] = hi;
insertionsort(a, lo, p[0], c);
} else if (p[0] - lo > SIZE_THRESHOLD) {
entry[0] = lo;
entry[1] = p[0];
insertionsort(a, p[1], hi, c);
} else {
insertionsort(a, lo, p[0], c);
insertionsort(a, p[1], hi, c);
entry = null;
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
private static boolean seqtest(Object[] a, int lo, int hi, Comparator c) {
for (int i = lo + 1; i < hi - 2; ++i) {
if (c.compare(a[i], a[i + 1]) > 0) {
return false;
}
}
endTest(a, lo, hi, c);
return true;
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
if (c == 0) {
if (i > lo) {
swap(a, lo++, i);
} else {
lo++;
swap(a, i, j);
swap(a, lo++, i);
} else {
lo++;
swap(a, i, j);
swap(a, lo1++, c--);
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
m1 = med3(a[lo + t], a[lo + t * 2], a[lo + t * 3], c);
m3 = med3(a[midi + t], a[midi + t * 2], a[midi + t * 3], c);
} else {
mid = med3(m1, mid, m3, c);
if (seqtest(a, lo, hi, c)) {
entry = null;
continue;
if (revtest(a, lo, hi, c)) {
entry = null;
continue;
int[] p = partition(a, lo, hi, mid, c);
entry[0] = p[1];
entry[1] = hi;
insertionsort(a, lo, p[0], c);
} else if (p[0] - lo > SIZE_THRESHOLD) {
entry[0] = lo;
entry[1] = p[0];
insertionsort(a, p[1], hi, c);
} else {
insertionsort(a, lo, p[0], c);
insertionsort(a, p[1], hi, c);
entry = null;
代码示例来源:origin: org.jruby/jruby-complete
private static void endTest(Object[] a, int lo, int hi, Comparator c) {
if (c.compare(a[lo], a[lo + 1]) <= 0) {
if (c.compare(a[hi - 2], a[hi - 1]) > 0) {
bubbleUp(a, lo, hi-1, c);
}
} else {
if (c.compare(a[hi - 2], a[hi - 1]) > 0) {
insertionsort(a, lo, hi, c);
} else {
bubbleDown(a, lo, hi-1, c);
}
}
}
代码示例来源:origin: org.jruby/jruby-core
public static void sort(Object[] a, int begin, int end, Comparator c) {
if (begin < end) {
if((end - begin) < SIZE_THRESHOLD) {
insertionsort(a, begin, end, c);
return;
}
quicksort_loop(a, begin, end, c);
}
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
private static boolean revtest(Object[] a, int lo, int hi, Comparator c) {
for (int i = lo + 1; i < hi - 2; ++i) {
if (c.compare(a[i], a[i + 1]) < 0) {
return false;
}
}
// reverse the entire area of the array selected if it's reversed.
int i = lo;
int j = hi - 1;
while (i < j) {
swap(a, i++, j--);
}
endTest(a, lo, hi, c);
return true;
}
代码示例来源:origin: org.jruby/jruby-complete
private static boolean seqtest(Object[] a, int lo, int hi, Comparator c) {
for (int i = lo + 1; i < hi - 2; ++i) {
if (c.compare(a[i], a[i + 1]) > 0) {
return false;
}
}
endTest(a, lo, hi, c);
return true;
}
代码示例来源:origin: org.jruby/jruby-complete
if (c == 0) {
if (i > lo) {
swap(a, lo++, i);
} else {
lo++;
swap(a, i, j);
swap(a, lo++, i);
} else {
lo++;
swap(a, i, j);
swap(a, lo1++, c--);
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
m1 = med3(a[lo + t], a[lo + t * 2], a[lo + t * 3], c);
m3 = med3(a[midi + t], a[midi + t * 2], a[midi + t * 3], c);
} else {
mid = med3(m1, mid, m3, c);
if (seqtest(a, lo, hi, c)) {
entry = null;
continue;
if (revtest(a, lo, hi, c)) {
entry = null;
continue;
int[] p = partition(a, lo, hi, mid, c);
entry[0] = p[1];
entry[1] = hi;
insertionsort(a, lo, p[0], c);
} else if (p[0] - lo > SIZE_THRESHOLD) {
entry[0] = lo;
entry[1] = p[0];
insertionsort(a, p[1], hi, c);
} else {
insertionsort(a, lo, p[0], c);
insertionsort(a, p[1], hi, c);
entry = null;
代码示例来源:origin: org.jruby/jruby-core
private static void endTest(Object[] a, int lo, int hi, Comparator c) {
if (c.compare(a[lo], a[lo + 1]) <= 0) {
if (c.compare(a[hi - 2], a[hi - 1]) > 0) {
bubbleUp(a, lo, hi-1, c);
}
} else {
if (c.compare(a[hi - 2], a[hi - 1]) > 0) {
insertionsort(a, lo, hi, c);
} else {
bubbleDown(a, lo, hi-1, c);
}
}
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
public static void sort(Object[] a, Comparator c) {
if(a.length < SIZE_THRESHOLD) {
insertionsort(a, 0, a.length, c);
return;
}
quicksort_loop(a, 0, a.length, c);
}
代码示例来源:origin: org.jruby/jruby-core
private static boolean revtest(Object[] a, int lo, int hi, Comparator c) {
for (int i = lo + 1; i < hi - 2; ++i) {
if (c.compare(a[i], a[i + 1]) < 0) {
return false;
}
}
// reverse the entire area of the array selected if it's reversed.
int i = lo;
int j = hi - 1;
while (i < j) {
swap(a, i++, j--);
}
endTest(a, lo, hi, c);
return true;
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
private static boolean seqtest(Object[] a, int lo, int hi, Comparator c) {
for (int i = lo + 1; i < hi - 2; ++i) {
if (c.compare(a[i], a[i + 1]) > 0) {
return false;
}
}
endTest(a, lo, hi, c);
return true;
}
内容来源于网络,如有侵权,请联系作者删除!