let arr = [2,6,3,7,1, 2, 3, 1, 2, 5, 3, 9, 55, 43];
console.log(sort(arr));
/**
* @description 将数组内的数值进行排序
* @param elements 要排序的数组
* @return 排序后的数组
* */
function sort(elements) {
// 假设第0个元素是一个有序数列,第1个以后的是无序数列
// 所以第1个元素开始将无序数列的元素插入有序数列中去
// 遍历要排序的数组
for (let i = 1; i <= elements.length; i++) {
// 升序
if (elements[i] < elements[i - 1]) {
//取出无序数列中的第i个作为插入元素
let guard = elements[i];
// 记住有序数列的最后一个位置,并且将有序数列的位置扩大一个
let j = i - 1;
elements[i] = elements[j];
// 比较大小;找到被插入元素所在的位置
while (j >= 0 && guard < elements[j]) {
elements[j + 1] = elements[j];
j--;
}
elements[j + 1] = guard;//插入
}
}
return elements;
}
console