思路:插入排序每次排一个数组项,以此方式构建最后的排序数组。假设第一项为已排列好的有序数组,接着,它和第二项进行比较,判断第二项应该待在原地还是插入第一项之前。这样,头两项就已经正确排序,接着和第三项比较(它应该是插入到第一、第二还是第三的位置),以此类推。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
function insertSort(arr){
for (var i=1;i<arr.length;i++){
for (var j=0;j<i;j++){
if (arr[i]<arr[j]){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
return arr;
}
console.log(insertSort([72,1,68,95,75,54,58,10]));
</script>
</body>
</html>
测试结果为:[1, 10, 54, 58, 68, 72, 75, 95]