//直接插入排序:
//直接插入排序是由两层嵌套循环组成的。
//外层循环标识并决定待比较的数值。
//内层循环为待比较数值确定其最终位置。
//直接插入排序是将待比较的数值与它的前一个数值进行比较,
//所以外层循环是从第二个数值开始的。
//当前一数值比待比较数值大的情况下继续循环比较,
//直到找到比待比较数值小的并将待比较数值置入其后一位置,
//结束该次循环
public class Straight{
public static void main(String args[]){
int[] a = { 46, 58, 15, 45, 90, 18, 10, 62 };
int n = a.length ;
int i, j ;
for (i = 0; i < n; i++ ) {
int temp = a[i] ;
for (j = i ; j > 0 && temp < a[j-1] ; j-- ){
a[j] = a[j - 1];
}
a[j] = temp ;
}
for(i=0; i<n; i++){
System.out.print(a[i]+"\t");
}
}
}
//直接插入排序属于稳定的排序,时间复杂性为o(n^2),空间复杂度为O(1)。
直接插入排序
最新推荐文章于 2023-09-10 22:20:38 发布