本文共 567 字,大约阅读时间需要 1 分钟。
把当前元素插入到一个已经排序的数组中,从后往前找,如果插入数比当前数小的话,当前数就后移,否则,直接插入
public class InsertSort {
public static <AnyType extends Comparable<? super AnyType>> AnyType[] insertionSort(AnyType[] a){ int j; for(int p=1;p<a.length;p++){ AnyType tmp=a[p]; for(j=p;j>0&&tmp.compareTo(a[j-1])<0;j--) a[j]=a[j-1]; a[j]=tmp; } return a; } }测试:
public class MyTest { public static void main(String[] args) { // TODO Auto-generated method stub Integer[] a=new Integer[]{2,14,5,16,7,1,6,12,5}; a=InsertSort.insertionSort(a); for(Integer b:a){ System.out.print(b+" "); } } }效果:
1 2 5 5 6 7 12 14 16
转载地址:http://ztjqi.baihongyu.com/