直接插入排序:
-----越有序越快
- 时间复杂度:O(n^2)
- 最好情况:O(n)
- 空间复杂度:O(1) tmp
- 有稳定性
代码实现:
public class TestSortDemo {
public static void insertSort(int[] array){
for(int i=1;i<array.length;i++){
int tmp=array[i];
int j=0;
for(j=i-1;j>=0;j--){
if(array[j]>tmp){
array[j+1] = array[j];
}else{
break;//找到比它小的 跳出循环
}
}
array[j+1]=tmp;
}
}
public static void main(String[] args) {
//int[] array=new int[10];
int[] array1={10,3,2,78,45,11,23};
insertSort(array1);
System.out.println(Arrays.toString(array1));
}
}
运行结果: