/**
* 插入排序
* 思想:每插入新的一项 都会和当前数组作比较,如果当前值大于数组最后一项,则插入到最后,否则排入前一项
*
* 步骤 *(从小到大,从大到小把内部判断语句修改即可)
* 1.新建空数组
* 2.新数组添加原数组第一项
* 3.最外层循环原数组,从1开始,这是为了和新数组第一项作比较
* 4.声明当前值,为了和新数组的值作比较
* 5.嵌套循环 循环的值为新数组,demo.length -1 从最大开始比较
* 6.如果外层变量news 大于 新数组old 则新数组存入该值 并且跳出该循环,继续下一项
* 7.如果内层循环到最后都没有满足该要求,则 存入首位 说明外层变量news最小
* 8.依次循环,直到retuen
*/
// demo = [10]
let arr = [10,9,8,15,14,12,99,50];
function setArr(arr){
let demo = [];
demo.push(arr[0]);
for(let i =1;i< arr.length; i++){
let news = arr[i];
for(let j = demo.length -1;j>=0;j--){
let old = demo[j];
console.log('当前循环次数',i,'原数组当前值',news,'新数组循环次数',j,'新数组当前末尾值',old)
if(news > old){
demo.splice(j+1,0,news);
break;
}
if(j === 0){
demo.unshift(news)
}
}
console.log(i,demo)
}
return demo
}
setArr(arr)