您的位置:首页 > Web前端 > JavaScript

JavaScript排序算法之插入排序

2014-09-08 00:41 190 查看


算法设计:

从第一个元素开始,该元素可以认为已经被排序;
取出下一个元素,在已经排序的元素序列中从后向前扫描;
如果该元素(已排序)大于新元素,将该元素移到下一位置;
重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;
将新元素插入到该位置后;
重复步骤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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 排序算法