插入排序的思路
基本思路步骤:
初始状态: 将数组分为已排序部分和未排序部分。初始时,已排序部分只包含第一个元素,而未排序部分包含其余的元素。
逐步构建有序序列: 从未排序部分取出第一个元素,将其插入到已排序部分的正确位置,使得已排序部分仍然保持有序。
比较并移动: 将取出的元素与已排序部分的元素逐一比较,找到其正确的插入位置。为了插入,可能需要将比它大的元素依次向右移动,为新元素腾出插入的位置。
重复步骤 2-3: 重复以上步骤,每次取出未排序部分的一个元素,插入到已排序部分的正确位置。这样,已排序部分逐渐增加,未排序部分逐渐减小。
**直到排序完成:**重复上述过程,直到未排序部分为空,整个数组就被排序完成了。
插入排序代码
java
public class Sort {
//3.插入排序
public static int[] inserSort(int... array){
int i,j;
for(i=1;i< array.length;i++){
if(array[i]>=array[i-1]){
continue;
}
int t=array[i];
//
for(j=i-1;j>=0&&array[j]>t;j--){
array[j+1]=array[j];
}
array[j+1]=t;
}
return array;
}
public static void main(String[] args) {
int[] a={94,54,52,36,17,4,9};
System.out.println(Arrays.toString(inserSort(a)));
}
}
结果展示
