JavaScript算法入门--排序--插入排序

一般排序的常用方法有:冒泡法、插入法、选择法、快速排序、归并排序、桶排序、希尔排序、堆排序、基数排序、外部排序等。

介绍插入法排序

插入法排序也是一种稳定的排序算法

(1)如果已知数组a[],设计一个和a相同的b[];
(2)将a的第一个元素放到b开始位置;
(3)取a第2个数组到b第2个位置,与其前面的数比较,如果前面的数比它大,就交换。
(4)取a第3个数到b第3个数位置,如果上一个数比之大,则交换,再和再前一个数比较,逐一交换,直到第3个之前所有数排号序。
(5)……。之后,逐一将a中数放到b中去,并如前排好序,保证b中总是排好序的数。

其实就是平常打斗地主的时候拿牌理牌一样的策略

image.png

JS实现:

// 插入排序
var insert = function (arr){
    let t = 0;
    for(let i = 0;i<arr.length;i++){
        for(let j = i;j>0;j--){
            if(arr[j]<arr[j-1]){
                t = arr[j];
                arr[j] = arr[j-1];
                arr[j-1] = t;
            }
        }
    }
    return arr;
}

java实现:

// 插入排序
    public static void insert(int[] arr){
        int t = 0;
        for(int i = 0;i<arr.length;i++){
            for(int j = i;j>0;j--){
                 if(arr[j]<arr[j-1]){
                        t = arr[j];
                        arr[j] = arr[j-1];
                        arr[j-1] = t;
                  }
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。