直接插入排序(Straight Insertion Sort)的动画演示
by 毛三胖 on 2018年01月20日
阅:413赞:13

直接插入排序

for(var i = 1; i < this.length; ++i){
    var tmp = this[i], j = i - 1;
    for(; j >= 0 && this[j] > tmp; --j){
        this[j+1] = this[j];
    }
    this[j+1] = tmp;
}

演示

说明

直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。

程序说明

演示程序的核心思想是利用setTimeout()将分步的任务(比较和交换)均匀的布置在时间轴上,在具体的每一步的任务中执行比较和交换操作。

兼容性

 scope.setTimeout(function[, delay, param1, param2, ...]);

利用上述方法,给分步任务传递参数。较老的浏览器不支持上述传参方法,因此演示程序不能执行。

具体说明参见MDN:

MDN:setTimeout Syntax

$ 热门标签
$ 贴士
简单是稳定的前提。 -Edsger Dijkstra
$ 声明
本站所有代码及文字都是作者精心汇编整理而成,转载代码及文字请明确注明出处和作者名称。