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 String toString() {
return "Last name: " + lastName + " First name: " + firstName + " Age: " + age;
}
public String getLast() {
return lastName;
}
}
public class MainClass {
public static void main(String[] args) {
Person[] persons = new Person[] {
new Person("a", "b", 23),
new Person("i", "a", 25),
new Person("y", "h", 26),
new Person("d", "e", 27) };
System.out.println("Before sorting:");
for (Person p : persons) {
System.out.println(p);
}
insertionSort(persons);
System.out.println("After sorting:");
for (Person p : persons) {
System.out.println(p);
}
}
public static void insertionSort(Person[] persons) {
int in, out;
for (out = 1; out < persons.length; out++) {
Person temp = persons[out];
in = out;
while (in > 0 && persons[in - 1].getLast().compareTo(temp.getLast()) > 0) {
persons[in] = persons[in - 1];
--in;
}
persons[in] = temp;
}
}
}
Last name: y First name: h Age: 26
Last name: d First name: e Age: 27
After sorting:
Last name: a First name: b Age: 23
Last name: d First name: e Age: 27
Last name: i First name: a Age: 25
Last name: y First name: h Age: 26