一.原理和思想
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序。
插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。
二.示例
三.代码
1 public class Insertion { 2 public void insertSort(int[] array){ 3 int temp = 0; 4 for(int i=1;i<array.length;i++){ 5 //从前两个数开始比较,每趟比较次数逐渐增加 6 for(int j=i;j>0;j--){ 7 if(array[j]<array[j-1]){ 8 temp = array[j]; 9 array[j] = array[j-1]; 10 array[j-1] = temp; 11 }else{ 12 break; 13 } 14 } 15 } 16 } 17 public static void main(String[] args) { 18 Insertion insertion = new Insertion(); 19 int[] array = {6,5,4,7,8,9,2,3,4,7}; 20 insertion.insertSort(array); 21 for(int i:array){ 22 System.out.println(i); 23 } 24 } 25 }