package sort; public class InsertionSort extends Example { @Override public void sort(Comparable[] a) { // TODO Auto-generated method stub int N = a.length; for(int i = 1; i < N; i++){ // 位置i之前的数据都有序, // 位置i之后的数据在本次内循环中不移动 // 把位置i上的数据,插入到i前已经有序的合适的位置上, // 采用的方式(从位置i到0)是逐个交换, // 这种方式可以改进。 for(int j = i; j > 0 && less(a[j],a[j-1]); j--){ exch(a, j, j-1); } } } public static void main(String[] args) { String[] a = {"A","C","D","T","M","L"}; InsertionSort example = new InsertionSort(); example.sort(a); example.show(a); } }