排序-插入排序

来源:互联网 发布:淘淘商城 源码 编辑:程序博客网 时间:2024/06/15 13:05

插入排序

插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

算法步骤:

  1. 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。

  2. 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)

插入排序算法示意图

public static void InsertSort(int[] data) {        if(data==null||data.length<2){            return ;        }        for (int i = 1; i < data.length; i++) {            //记录当前的值            int currentValue = data[i];            for (int j = i-1; j >=0; j--) {                if(data[j]>currentValue){                    //如果当前索引的值大于比较值,数组元素后移                    data[j+1]=data[j];                }else{                    break;                }                data[j]=currentValue;            }        }    }
0 0
原创粉丝点击