插入排序的基本思想,假设数组前面位置的元素已经排序好,新插入一个元素a[p], 由a[p]与前面a[p-1]比较,若a[p]
public static <AnyType extends Comparable<? super AnyType>>
void insertSort(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;
}
}
插入排序花费O(N*N),若是插入已有的排序好的数组中,则for 内循环判断即终止,总共花费O(N)时间。