排序算法——插入排序

插入排序:非常好理解,插入排序,就像我们平时在打扑克过程中整理手中排的过程一样,从一侧到另一侧,选择一张牌,找到最终属于它的位置,然后下一张牌,再找到它最终的位置。

插入排序:时间复杂度是O(n^2),但是如果对于局部有序的序列用插入排序是非常高效的,会比用一些高级排序算法的性能还要好,而且插入排序的思想是很重要的,从而也可以衍生出希尔排序,总之插入排序还是挺好的。

代码如下:

/**
 * Created by linSir on 17/2/8.
 */


var list = [1, 4, 2, 3, 0];

function insertSort(list) {
    for (var i = 0; i < list.length; i++) {
        for (var j = i; j > 0; j--) {
            if (list[j] < list[j - 1]) {
                var temp = list[j];
                list[j] = list[j - 1];
                list[j - 1] = temp;
            }

        }
        console.log(list);
    }
}

insertSort(list);
console.log(list);


当然代码也很好理解啦,外层循环控制总的循环次数,内层循环,负责让我们新找到的这个数字,找到它最终的位置。

插入排序的过程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容