org.jruby.util.Qsort类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(6.0k)|赞(0)|评价(0)|浏览(110)

本文整理了Java中org.jruby.util.Qsort类的一些代码示例,展示了Qsort类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Qsort类的具体详情如下:
包路径:org.jruby.util.Qsort
类名称: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;
}

相关文章