会计考友 发表于 2012-8-2 08:51:15

软考程序员:数据结构插入排序算法

思想:将整个数组分成已排(左边)和待排(右边)两个部分,开始时已排部分只有数组最左边的一个成员,其余成员均属于待排部分。排序时,每次取出待排部分最左边的一个值,根据它的大小插入已排部分的适应位置。这样,已排部分逐步扩大,待排部分逐步缩小,直到已排部分扩大到整个数组为止。    import java.util.;
    public class InsertSort{
    public void InsertSorting(Comparable[] arr){
    Comparable temp;
    for(int i=1;i
    int j=i;
    while(j0 arr.compareTo(arr)0){
    temp=arr;
    arr=arr;
    arr=temp;
    --j;
    }
    }
    }
    public void PrintArr(Comparable[] arr){
    for(int i=0;i
    System.out.println(arr);
    }
    }

会计考友 发表于 2012-8-2 08:51:16

软考程序员:数据结构插入排序算法

public static void main(String[] args){
    Animal[] arr=new Animal[]{new Animal("dog"),new Animal("cat"),new Animal("rat"),
    new Animal("pig"),new Animal("fox"),new Animal("eel"),new Animal("ant"),
    new Animal("hen"),new Animal("bat")};
    InsertSort is=new InsertSort();
    is.InsertSorting(arr);
    is.PrintArr(arr);
    }
    }
    class Animal implements Comparable{
    private String name;
    public Animal(String s){
    name=s;
    }
    public int compareTo(Object o){
    if(name.compareTo(((Animal)o).getName())0)
    return 1;
    else if(name.compareTo(((Animal)o).getName())0)
    return -1;
    else
    return 0;
    }
    public String getName(){
    return name;
    }
    public String toString(){
    return name;
    }
    }
页: [1]
查看完整版本: 软考程序员:数据结构插入排序算法