SOURCE

let a = [9,7,6,1,4,2,5]
//冒泡:两两比较
function bubleSort(arr) {
	   let len = arr.length
       for(let out = 0;out < len- 1 ; out++){
           for(let inner = 0;inner < len-1-out; inner++){
           		if(arr[inner] > arr[inner +1]){
                    [arr[inner],arr[inner+1]] = [arr[inner+1],arr[inner]]
                }
       		}
       }
    	return arr
	}
console.log(bubleSort(a))

//选择排序: 遍历元素,找到最小的元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
let b = [9,7,6,1,4,2,5]
function selectSort(arr){
    let len = arr.length
    let minIndex 
    for(let out = 0;out < len- 1 ; out++){
        	//假设最小值
        	minIndex  = out
            //与minIndex后面的逐个进行比较,找出最小的
           for(let inner = out +1 ;inner < len; inner++){
           		if(arr[minIndex] > arr[inner]){
                    minIndex = inner
                }
       		}
            [arr[out],arr[minIndex]] = [arr[minIndex],arr[out]]
       }
    	return arr
}
 console.log(selectSort(b))
//插入排序:
//   (1) 从第一个元素开始,该元素可以认为已经被排序
//  (2) 取出下一个元素,在已经排序的元素序列中从后向前扫描
//  (3) 如果该元素(已排序)大于新元素,将该元素移到下一位置
//  (4) 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
//  (5)将新元素插入到下一位置中
//  (6) 重复步骤2
let c = [9,7,6,1,4,2,5]

function insertSort(arr){
    for(let i =1;i<arr.length;i++){
         for(let j =i;j>0;j--){
        	if(arr[j]<arr[j-1]){
                [arr[j],arr[j-1]]=[arr[j-1],arr[j]]
            }else{
                break
            }
    	}
    }
    return arr
}
 console.log(insertSort(c))
console 命令行工具 X clear

                    
>
console