js插入排序

原理 数组分为两部分, 一部分为有序数组,一部分为无序数组, 默认数组第一个元素为有序部分,
然后从无序的数组中依次取出元素, 插入有序数组时比较大小,再次变成一个有序数组, 最后有序部分就是排好序的, 无序部分就没了.

下面是js 代码

const data  = [110, 86, 47, 34, 83, 11, 77, 100, 51, 21]


 function insrt(data){
     let i = 1
     let len =data.length
     let j=0
     for(;i<len;i++){

         j= i-1  
        let tmp = data[i]
      while(j>=0 && tmp<data[j]){

            data[j+1] = data[j]
            j--
        }

        data[j+1] = tmp
     }          

   return data
 }

console.log(insrt(data))

你可能感兴趣的:(算法)