您的位置:首页 > 理论基础 > 数据结构算法

(八)简单排序-对象的插入排序(person)

2017-03-31 11:55 232 查看

对象的插入排序(对person类型对象进行插入排序)

person.java(对象类)

package JavaApp_ObjectSort;

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 dispalyPerson(){
System.out.print(" Last Name"+lastName);
System.out.print(",First Name"+firstName);
System.out.println(",Age"+age);
}
public String getLat(){
return lastName;
}
public int getAge(){
return age;
}
}



ArrayInOb.java(对象数组类)

package JavaApp_ObjectSort;

public class ArrayInOb {
private Person[] a;
private int nElems;

public ArrayInOb(int max) {// 构造函数
a = new Person[max];
nElems = 0;
}

public void insert(String last, String first, int age) {
a[nElems] = new Person(last, first, age);
nElems++;
}

public void display() {
for (int j = 0; j < nElems; j++)
a[j].dispalyPerson();
System.out.println();
}

public void insertionSort() {//插入排序按照姓排序
int in, out;
for (out = 1; out < nElems; out++) {
Person temp = a[out];
in = out;
while (in > 0 && a[in - 1].getLat().compareTo(temp.getLat()) > 0) {
a[in] = a[in - 1];
in--;
}
a[in] = temp;
}
}
public void insertionSortAge() {//插入排序按照年龄排序
int in, out;
for (out = 1; out < nElems; out++) {
Person temp = a[out];
in = out;
while (in > 0 && a[in - 1].getAge()>temp.getAge()) {
a[in] = a[in - 1];
in--;
}
a[in] = temp;
}
}
}


ObjectSortApp.java(测试类)

package JavaApp_ObjectSort;

public class ObjectSortApp {

public static void main(String[] args) {
int maxSize=100;
ArrayInOb arr;
arr=new ArrayInOb(maxSize);
arr.insert("Evans", "patty", 24);
arr.insert("Smith", "doc", 59);
arr.insert("Smith", "lo", 37);
arr.insert("Smith", "pu", 43);
arr.insert("yee", "tom", 29);
arr.insert("ff", "sato", 72);
arr.insert("cer", "henry", 22);
arr.insert("vans", "minh", 18);
arr.insert("Evans", "luc", 2);
System.out.println("按姓排序前");
arr.display();

arr.insertionSort();//按姓排序
System.out.println("按姓排序后");
arr.display();

System.out.println("按年龄排序后");
arr.insertionSortAge();//按年龄排序
arr.display();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 数据结构
相关文章推荐