An Improved Insert Sort Algorithm
From Java Example Source Code
Contents |
[edit] Overview - An Improved Insert Sort Algorithm
This is a Java example program for Insertion sort
[edit] Java Source Code
- Package: example.sortsearch
- File: ExecDemoSort2.java
package example.sortsearch; public class ObjectInsertSort { private Person[] a; private int nElems; public ObjectInsertSort(int max) { a = new Person[max]; nElems = 0; } // put person into array 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].displayPerson(); } public void insertionSort() { int in, out; for (out = 1; out < nElems; out++) { Person temp = a[out]; // out is dividing line in = out; // start shifting at out while (in > 0 && // until smaller one found, a[in - 1].getLast().compareTo(temp.getLast()) > 0) { a[in] = a[in - 1]; // shift item to the right --in; // go left one position } a[in] = temp; // insert marked item } } public static void main(String[] args) { int maxSize = 100; // array size ObjectInsertSort arr; arr = new ObjectInsertSort(maxSize); // create the array arr.insert("Jo", "Yin", 24); arr.insert("Pengzhou", "Yin", 59); arr.insert("James", "Chen", 37); arr.insert("Chirs", "Paul", 37); arr.insert("Rob", "Tom", 43); arr.insert("Carlo", "Sato", 21); arr.insert("Al", "Henry", 29); arr.insert("Nancy", "Jose", 72); arr.insert("Vang", "Minh", 22); System.out.println("Before sorting:"); arr.display(); // display items arr.insertionSort(); // insertion-sort them System.out.println("After sorting:"); arr.display(); // display them again } } 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; } }
[edit] What Result You Can Get
Run the program, you will get:
Before sorting: Last name: Jo, First name: Yin, Age: 24 Last name: Pengzhou, First name: Yin, Age: 59 Last name: James, First name: Chen, Age: 37 Last name: Chirs, First name: Paul, Age: 37 Last name: Rob, First name: Tom, Age: 43 Last name: Carlo, First name: Sato, Age: 21 Last name: Al, First name: Henry, Age: 29 Last name: Nancy, First name: Jose, Age: 72 Last name: Vang, First name: Minh, Age: 22 After sorting: Last name: Al, First name: Henry, Age: 29 Last name: Carlo, First name: Sato, Age: 21 Last name: Chirs, First name: Paul, Age: 37 Last name: James, First name: Chen, Age: 37 Last name: Jo, First name: Yin, Age: 24 Last name: Nancy, First name: Jose, Age: 72 Last name: Pengzhou, First name: Yin, Age: 59 Last name: Rob, First name: Tom, Age: 43 Last name: Vang, First name: Minh, Age: 22
[edit] Required External Libraries and/or Files for this Java Example
Need nothing.
[edit] How to Run this Java Example Program
We recommend running this Java example program with Eclipse.
For assistance in working with Eclipse, please see How to Run Java Program with Eclipse.
It's fairly easy.
[edit] Question & Answer
Any question?
Click edit and post your question or answer here.
