直接插入排序法操作步骤:
###一、语言描述
####1、前两个作比较
#####(1)把第二个赋值为临时变量tmp;
#####(2)tmp与第一个作比较,如果第一个大于tmp,那么第一个移到第二个位置来,然后把tmp赋值给第一个。
####2、前三个作比较
#####(1)把第三个赋值为临时变量tmp;
#####(2)tmp与第二个作比较,如果第二个大于tmp,那么第二个移到第三个位置来,然后tmp与第一个作比较,如果第一个大于tmp,那么第一个移到第二个位置来;(如果其中一个判断不成立就结束当层循环);最后把tmp与最后一个作比较相交换。
####3、后面依次循环以上操作…
###二、流程图描述
###三、java代码
public static <AnyType extends Comparable<? super AnyType>> void insertionSort(AnyType [] a){
int j;
for(int p = 1; p < a.length; p++){
AnyType tmp = a[p];
for(j = p; j > 0 && tmp.comparaTo(a[j - 1]) < 0; j--){
a[j] = a[j-1];
}
a[j] = tmp;
}
}

4571

被折叠的 条评论
为什么被折叠?



