(八)简单排序-对象的插入排序(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(); } }
相关文章推荐
- 简单排序——冒泡排序,选择排序,插入排序,对象排序
- (六)简单排序—插入排序
- 对Person对象按年龄排序
- Java中的几种排序算法:冒泡排序,插入排序,二分法排序,简单排序,快速排序
- 简单排序算法之——插入排序
- java简单排序-插入排序
- 简单函数对象取代默认排序准则,改变默认sort()的行为
- 最简单之Java实现冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序(转载请注明出处)
- java实现七种排序 (插入排序, 希尔排序, 插入排序, 快速排序, 简单选择排序, 堆排序, 归并排序)
- C实现三种插入排序-简单插入排序、二分插入排序、希尔插入排序
- 简单排序--插入排序
- 简单插入排序和shell插入排序【C语言】
- Java中的简单排序:冒泡排序,选择排序,插入排序
- 八大排序方法汇总(选择排序,插入排序-简单插入排序、shell排序,交换排序-冒泡排序、快速排序、堆排序,归并排序,计数排序)
- 【第3节】简单排序--插入排序
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
- 基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序
- 冒泡排序,插入排序,快速排序 简单总结
- 常用的简单排序之插入排序,冒泡排序,选择排序,希尔排序
- C++简单排序算法之插入排序