插入排序

首先创造一个长度为10(0~100)的随机数组

//随机数循环
var arr = [];
for(var i = 0;i < 10;i++){
      arr[i] = Math.round(Math.random() * 100);
}
//打印到控制台
console.log(arr);

//从第二个元素开始比较(从第二个元素开始到最后一个元素结束)
//每次比较都是跟排在自己前面的元素进行比较
for(var i = 0;i < arr.length;i++){
      //从第二个元素开始比较到最后一个元素

      //将当前元素和自己前面的元素进行比较
      //比如循环第一次的时候,当前元素时第二个元素
      //所以他就要跟第一个元素进行比较
      for(var j = i; j > 0;j--){
          //内层循环时从当前对比的元素开始,想做进行
          //所以内层循环的起始位置,应该时当前元素的位置(j = i)
          //因为要向左开始比较,所以应该是递减(j--)
          //在没有遇到比他还小的元素之前,当前比较应该一直进行到第一个元素才结束(j > 0)

          //开始比较
          if(arr[j] < arr[j - 1]){
            //如果当前元素比前一个小
            //则交换两个元素的位置(前一个元素往后挪一位)
            var max = arr[j - 1];
            arr[j - 1] = arr[j];
            arr[j] = max;
          }else{
                    //如果前一个元素比当前元素小,则结束循环
                    break;
                  }
      }
}
//打印到控制台
console.log(arr);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容