const bubble_sort = list => { const len = list.length; for(let i = 0; i<len-1; i++) { let isExchange = false for(let j = 0; j<len-i; j++) { if(list[j] > list[j+1]) { isExchange = true; [list[j], list[j+1]] = [list[j+1], list[j]]; } } if(!isExchange) return list; } return list; } const list = [10,1,8,4,2,19,5,20]; console.log(bubble_sort(list)); /** * 冒泡排序,相邻的两个位置的数据做比较,大的放后面,然后继续比较, * 第一趟结束后,最大值在最后面 */