public class Person {
private String lastName;
private String firstName;
private int age;
public Person(String last,String first,int a) {
lastName=last;
firstName=first;
age=a;
}
public void displayPerson() {
System.out.print("last name:"+lastName);
System.out.print(",first name"+firstName);
System.out.println(",age:"+age);
}
public String getLast() {
return lastName;
}
}
public class ArrayInOb {
private Person a[];
private int nElems;
public ArrayInOb(int maxSize) {
a=new Person[maxSize];
nElems=0;
}
//插入
public void insert(String last,String first,int age) {
a[nElems++]=new Person(last, first, age);
}
//显示
public void display() {
for(int j=0;j<nElems;j++)
a[j].displayPerson();
System.out.println();
}
//排序
public void insertionSort() {
int out,in;
for(out=1;out<nElems;out++) {
Person temp=a[out];
in=out;
//对姓进行排序
while(in>0 && a[in-1].getLast().compareTo(temp.getLast())>0) {
a[in]=a[in-1];
in--;
}
a[in]=temp;
}
}
}
public class Test {
public static void main(String[] args) {
int maxSize=100;
ArrayInOb array=new ArrayInOb(maxSize);
array.insert("Evans", "Patty", 24);
array.insert("Smith", "Lorraine", 37);
array.insert("Smith", "Tom", 43);
array.insert("Smith", "Henry", 63);
array.insert("Yee", "Sato", 21);
array.insert("Hashimoto", "Henry", 29);
array.insert("Stimson", "ming", 72);
array.insert("Velasquez", "rong",54 );
array.insert("Vang", "qian", 22);
array.display();
array.insertionSort();
array.display();
}
}