排序--插入排序

插入排序的基本思想,假设数组前面位置的元素已经排序好,新插入一个元素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)时间。

点赞