学习javascript,实现插入排序

插入排序

  插入排序是这样实现的:   

首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。   

从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态。   

重复2号步骤,直至原数列为空。   

插入排序的平均时间复杂度为平方级的,效率不高,但是容易实现。它借助了"逐步扩大成果"的思想,使有序列表的长度逐渐增加,直至其长度等于原列表的长度。

(引自百度百科)

javascript代码

<script type="text/javascript">
        var org = [5, 4, 3, 2, 1, 6, 7, 9, 8, 10];
        var tempArr = new Array();
        for (var i = 0; i < org.length; i++) {
            if (i == 0) {
                tempArr[0] = org[0]; //把第一个元素放到新序列
            } else {
                for (var j = 0; j < tempArr.length; j++) {
                    if (org[i] > tempArr[j]) {
                        //如果是新序列的最后一个元素,则插入
                        if (j == tempArr.length - 1) {
                            tempArr[j + 1] = org[i];
                            break;
                        } else {//如果不是最后一个元素,则往后移动
                            continue;
                        }
                    } else {
                        //移动新序列、然后插入
                        for (var k = tempArr.length - 1; k >= j; k--) {
                            tempArr[k + 1] = tempArr[k];
                        }
                        tempArr[j] = org[i];
                        break;
                    }
                }
            }
        }
        alert(tempArr);
    </script>
posted @ 2011-07-29 18:18  魅猫之  阅读(543)  评论(0编辑  收藏  举报