JavaScript中实现插入排序算法的原理是什么

JavaScript中实现插入排序算法的原理是什么

JavaScript中实现插入排序算法的原理是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

JavaScript实现插入排序

function insertion_sort(arr) {
  var temp;
  for (var i = 1; i < arr.length; i++) {
    for (var j = i-1; j >=0; j--) {
      if (arr[j+1]<arr[j]) {
        temp=arr[j+1];
        arr[j+1]=arr[j];
        arr[j]=temp;
      }else if (arr[j+1]>=arr[j]) {
        break;
      }
    }
  }
  return arr;
}
var a=[11,2,3,445,7,32,71,8,94];
console.log(insertion_sort(a));
var b=[94,11];
console.log(insertion_sort(b));

说明:

1、一旦发现arr[j+1]的值不比前面的值小,就可以结束内层循环了,break实现这一功能;

2、内层循环用arr[j+1]的原因:初始时a[j](即a[i-1])代表a[i]前一个位置,进入循环后,a[j+1]就表示了a[i]的位置,实现了a[i]和a[i-1]的第一次比较;随着j第一次自减,实际上比较了a[i-1]和a[i-2];依次类推。如果将arr[j+1]改成a[i]是不行的,因为没有实现位置的移动。

关于JavaScript中实现插入排序算法的原理是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。