sorter.java
来自「JAVA 数学程序库 提供常规的数值计算程序包」· Java 代码 · 共 37 行
JAVA
37 行
package jmathlib.tools.junit.runner;
import java.util.*;
/**
* A custom quick sort with support to customize the swap behaviour.
* NOTICE: We can't use the the sorting support from the JDK 1.2 collection
* classes because of the JDK 1.1.7 compatibility.
*/
public class Sorter {
public static interface Swapper {
public void swap(Vector values, int left, int right);
}
public static void sortStrings(Vector values , int left, int right, Swapper swapper) {
int oleft= left;
int oright= right;
String mid= (String)values.elementAt((left + right) / 2);
do {
while (((String)(values.elementAt(left))).compareTo(mid) < 0)
left++;
while (mid.compareTo((String)(values.elementAt(right))) < 0)
right--;
if (left <= right) {
swapper.swap(values, left, right);
left++;
right--;
}
} while (left <= right);
if (oleft < right)
sortStrings(values, oleft, right, swapper);
if (left < oright)
sortStrings(values, left, oright, swapper);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?