JavaScript排序算法之插入排序

来源:互联网 发布:dfu刷机会清空数据吗 编辑:程序博客网 时间:2024/06/05 16:11


算法设计:

  1. 从第一个元素开始,该元素可以认为已经被排序;
  2. 取出下一个元素,在已经排序的元素序列中从后向前扫描;
  3. 如果该元素(已排序)大于新元素,将该元素移到下一位置;
  4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;
  5. 将新元素插入到该位置后;
  6. 重复步骤2~5。
代码:
<body>    <label id="lab"></label><br />    <input id="txt" type="text" /><br />    <input id="btn" type="button" value="确定" onclick="BtnOnclick()"/></body>


<script src="js/jquery1.7.2.min.js" type="text/javascript"></script><script type="text/javascript">    var arrayObj = new Array();    function BtnOnclick() {        getArrObj();        var value="";        if (arrayObj.length > 0) {            for (var i = 0; i < arrayObj.length; i++) {                value = value + arrayObj[i] + ",";            }            value = value.substring(0, value.length - 1);            $("#lab").text(value);            $("#lab").val(value);        }    }    function getArrObj() {        var txt = $("#txt").val();        var lab = $("#lab").val();        var labInt = parseInt(txt);        if (lab == "")            arrayObj.push(labInt);        else {            insertionSort(labInt);        }    }    function insertionSort(labInt) {        var length = arrayObj.length;        for (var i = length - 1; i >= 0; i--) {                        if (arrayObj[i] > labInt) {                arrayObj[i + 1] = arrayObj[i];            }            else {                arrayObj[i + 1] = labInt;                break;            }        }        return arrayObj;    }</script>



0 0
原创粉丝点击