/**
* 冒泡排序
* @param arr
*/
sort(arr){
for(let j = 0; j < arr.length - 1; j++){
//两两比较,如果前一个比后一个大,则交换位置。
for(let i = 0; i < arr.length - 1 - j; i++){
if(arr[i] > arr[i+1]){
let temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
},
/**
* 插入排序
* @param arr
* @returns {Buffer|WordArray|*|any[]|string}
*/
insertSort(arr){
//假设第0元素是有序序列,第1元素之后是无序的序列。从第1元素开始依次将无序序列的元素插入到有序序列中
for(var i=1; i<arr.length;i++){
if(arr[i]<arr[i-1]){
//取出无序序列中需要插入的第i个元素
var temp = arr[i];
//定义有序中的最后一个位置
var j = i-1;
arr[i] = arr[j];
//比较大小,找到插入的位置
while(j>=0&&temp<arr[j]){
arr[j+1] = arr[j];
j--;
};
//插入
arr[j+1] = temp;
}
}
}
注:排序为升序排列,这种方法会改变原始数组
原文:https://www.cnblogs.com/maggieq8324/p/12313987.html