⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fig9-17.java

📁 数据结构用java实现的一些源代码
💻 JAVA
字号:
import java.io.*;
import java.util.*;

class Person implements Comparable {
    private String name;
    public int age;
    public Person(String s, int i) {
        name = s; age = i;
    }
    public Person() {
        this("",0);
    }
    public String toString() {
        return "(" + name + ", " + age  + ")";
    }
    public int compareTo(Object p) {
        return name.compareTo(((Person)p).name);
    }
}

class PersonComparator implements Comparator {
    public int compare(Object ob1, Object ob2) {
        if (ob1 == ob2)
             return 0;
        else if(ob1 == null)
             return -1;
        else if (ob2 == null)
             return 1;
        return ((Person)ob1).age - ((Person)ob2).age;
    }
}

class TestSorting {
    static void printArray(Object[] a) {
        for (int i = 0; i < arr.length; i++)
            System.out.print(arr[i] + " ");
        System.out.println();
    }
    public static void main(String[] ar) {
        int[] intArr1 = {4, 6, 7, 4, 2};
        int[] intArr2 = {4, 6, 7, 4, 2};
        char[] charArr = {'a', 'n', 'd', 'v', 'a'};
        Arrays.sort(intArr1); // intArr1 = [2, 4, 4, 6, 7]
        for (int i = 0; i < intArr1.length; i++)
            System.out.print(intArr1[i] + " ");
        System.out.println();
        Arrays.sort(intArr2,1,intArr2.length-2); // intArr2 = [4, 6, 7, 4, 2]
        for (int i = 0; i < intArr2.length; i++)
            System.out.print(intArr2[i] + " ");
        System.out.println();
        Arrays.sort(charArr); // charArr = ['a', 'a', 'd', 'n', 'v']
        for (int i = 0; i < charArr.length; i++)
            System.out.print(charArr[i] + " ");
        System.out.println();
        Person[] persons1 = {new Person("Tom",50), new Person("Lili",29),
                             new Person("Jeff",44)};
        Person[] persons2 = {new Person("Tom",50), new Person("Lili",29),
                             new Person("Jeff",44), null};
        Vector personVector = new Vector();
        LinkedList personLList1 = new LinkedList();
        LinkedList personLList2 = new LinkedList();
        ArrayList personAList = new ArrayList();
        for (int i = 0; i < persons1.length; i++) {
            personVector.add(persons1[i]);
            personLList1.add(persons1[i]);
            personLList2.add(persons1[i]);
            personAList.add(persons1[i]);
        }
        Collections.sort(personVector);
        // personVector = [(Jeff, 44), (Lili, 29), (Tom, 50)]
        Collections.sort(personLList1);
        // personLList1 = [(Jeff, 44), (Lili, 29), (Tom, 50)]
        Collections.sort(personLList2,new PersonComparator());
        // personLList2 = [(Lili, 29), (Jeff, 44), (Tom, 50)]
        Collections.sort(personAList);
        // personAList = [(Jeff, 44), (Lili, 29), (Tom, 50)]
        System.out.println(personVector);
        System.out.println("personLList1 " + personLList1);
        System.out.println("personLList2 " + personLList2);
        System.out.println(personAList);
        Arrays.sort(persons1);
        // persons1 = [(Jeff, 44), (Lili, 29), (Tom, 50)]
        printArray(persons1);
        Arrays.sort(persons2,new PersonComparator());
        // persons2 = [null, (Lili, 29), (Jeff, 44), (Tom, 50)]
        printArray(persons2);

        Integer[] a = {new Integer(1), new Integer(4),
                       new Integer(2), new Integer(5)};
        (new Sorts()).insertionsort(a); // a = [1, 2, 4, 5]
        printArray(a);
        Person[] persons3 = {new Person("Tom",50), new Person("Lili",29),
                             new Person("Jeff",44)};
        (new Sorts()).insertionsort(persons3);
        printArray(persons3);
        // persons3 = [(Lili, 29), (Jeff, 44), (Tom, 50)]
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -