Java 泛型插入排序

package c21_Generic;

import java.util.Arrays;

/**
 * 21.4 泛型插入排序
 * @author Jeff Chen <[email protected]>
 * @since 2014-4-4
 * */
public class GenericInsertionSort {
	public static void main(String[] args) {
		Integer[] iArr = {1,4,2,7,5,9,6,7,1,23,23,45};
		GenericInsertionSort.<Integer>InsertionSort(iArr);
		System.out.println(Arrays.toString(iArr));
	}
	
	public static <E extends Comparable<E>> void InsertionSort(E[] list){
		for(int i = 1; i<list.length; i++){
			E key = list[i];
			int pos = i;
			//key前面较大的值全部右移
			while(pos > 0 && list[pos-1].compareTo(key) > 0){
				list[pos] = list[pos-1];
				pos--;
			}
			list[pos] = key;
		}
	}

}


你可能感兴趣的:(java,泛型,插入排序)