首页 > 代码库 > 插入排序

插入排序

简单排序中插入排序相对于另外两种(冒泡排序、选择排序)效率要高。

插入排序规则:从左边第二个开始讲该数据项往前插入到合适的位置,若该数据项比第一个小则插入到第一个数据项的前面,否则位置不变。然后依此规则将第三个数据域前面的数据进行比较,插入到合适的位置。依次将后面所有的数据插入到前面合适的位置。

插入排序是稳定排序。

import java.util.Arrays;

public class InsertSort {

    /**
     * 插入排序
     * 
@param args
     
*/
    public static void main(String[] args) {
        int[] a={24,12,65,34,100,11,23,76,34};
        System.out.println("排序前:"+Arrays.toString(a));
        for(int i=1;i<a.length;++i){
            int temp=a[i];
            int j=i-1;
            while(j>=0&&a[j]>temp){         //找出数据应插入的位置,数据大于待插入值向后移一位
                a[j+1]=a[j];
                j--;
            }
            if(j!=i-1){
                a[j+1]=temp;
            }
        }
        System.out.println("排序后:"+Arrays.toString(a));
    }
    

} 

插入排序