/* 插入排序核心
默认数组第一个元素是已经排好序的
将数据分为有序区和无序区,
每次从无序区中取出一个元素,
然后和有序区从后往前挨个比较,比该元素大的往后移。直到找到比该元素小的元素。那么这个元素就插入到他的后面就行。
*/
代码实现
let arr=[2,4,5,6,7,1,5,6,7,8,0]
function insertSort(arr){
for(let i=1;i<arr.length;i++){
temp=arr[i] //保存待排序的元素
let j=i
//有序区里面进行比较 如果有序区元素大于未排序元素 依次往后移动位置
while(j-1>=0&&arr[j-1]>temp){
arr[j]=arr[j-1]
j--
}
//插入元素
arr[j]=temp
}
return arr
}
console.log( insertSort(arr))