Sorting Algorithm Tutorials - Herong's Tutorial Examples - 6.12, by Herong Yang
HyObject.java - Data Element Class
This section describes a sample data element class, HyObject.java, which can be used to represent the data objects that you want to put them in a collection and sort them.
Here is my sample data element class, HyObject.java, that implements Comparable<HyObject> interface defined in JDK:
/* HyObject.java * Copyright (c) 2011 HerongYang.com. All Rights Reserved. */ import java.util.*; public class HyObject implements Comparable<HyObject> { private Object data; private int keyValue; private static Random randomGenerator; public static void setRandom(int s) { randomGenerator = new Random(s); } public HyObject() { data = null; keyValue = randomGenerator.nextInt(999999); } public int compareTo(HyObject d) { if (this.keyValue>d.keyValue) { return 1; } else if (this.keyValue<d.keyValue) { return -1; } else { return 0; } } public String toString() { return String.valueOf(keyValue); } }
Note that:
If you are still using older versions of Java that support only the raw "Comparable" interface type, here is my old sample data element class, HyObjectOld.java:
/* HyObjectOld.java * Copyright (c) 2008 HerongYang.com. All Rights Reserved. */ import java.util.*; public class HyObjectOld implements Comparable { private Object data; private int keyValue; private static Random randomGenerator; public static void setRandom(int s) { randomGenerator = new Random(s); } public HyObjectOld() { data = null; keyValue = randomGenerator.nextInt(); } public int compareTo(Object d) { if (this.keyValue>((HyObjectOld)d).keyValue) { return 1; } else if (this.keyValue<((HyObjectOld)d).keyValue) { return -1; } else { return 0; } } public String toString() { return String.valueOf(keyValue); } } public void setKeyValue(int keyValue) { this.keyValue = keyValue; } public int getKeyValue(int keyValue) { return keyValue; }
Table of Contents
Introduction of Sorting Algorithms
►Java API for Sorting Algorithms
►HyObject.java - Data Element Class
SortTest.java - Testing Program
java.util.Arrays.sort() - Performance
Performance Summary of Java Implementations
Insertion Sort Algorithm and Java Implementation
Selection Sort Algorithm and Java Implementation
Bubble Sort Algorithm and Java Implementation
Quicksort Algorithm and Java Implementation
Merge Sort Algorithm and Java Implementation
Heap Sort Algorithm and Java Implementation
Shell Sort Algorithm and Java Implementation
Sorting Algorithms Implementations in PHP
Sorting Algorithms Implementations in Perl
Sorting Algorithms Implementations in Python