JAVA排序算法(非原创)
JAVA排序算法(非原创)
package Sort;
class Data {
Comparable key;
Object value;
public Data() {
}
public Data(Data data){
this.key=data.key;
this.value=data.value;
}
public Data(Comparable key,Object value){
this.key=key;
this.value=value;
}
public String toString(){
return "key="+key+";"+"value="+value+";"+"\n";
}
}
Insertion.java
package Sort;
public class InsertionSort {
public InsertionSort() {
}
//直接插入排序,从下标1开始
public static void straightInsertionSort(Data[] data) {
int i, j;
for (i = 2; i <data.length; i++) {
if (data[i].key.compareTo(data[i - 1].key) < 0) {
data[0] = data[i];//复制为监视哨
for (j = i - 1; data[0].key.compareTo(data[j].key) < 0; --j) {
data[j + 1] = data[j];//记录右移
}
data[j + 1] = data[0];//插入
}
}
}
//折半插入排序,从下标1开始
public static void BinaryInsertionSort(Data[] data){
int i,j,low,high,mid;
for(i=2;i<data.length;i++){
if (data[i].key.compareTo(data[i - 1].key) < 0) {
&nb
相关文档:
Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。
在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信 ......
public static String StringFilter(String str) throws
PatternSyntaxException {
// 只允许字母和数字
&nbs ......
result love(boy, girl)
{
if( boy.有房() and boy.有车() )
{
boy.set(nothing);
return girl.嫁给(boy);
&n ......