算法核心是从上往下扫描数组,比较相邻两个元素,大的在数组的后面,小的在前面,如果不符合则交换二者位置。
1 function bubbleSort(arr) { 2 if (arr.length <= 1) { 3 return arr; 4 } 5 for (var i = arr.length–1; i > 0; i–) { 6 for (var j = i–1; j >= 0; j–) { 7 if (arr[j] < arr[j - 1]) { 8 var tmp = arr[j]; 9 arr[j] = arr[j - 1]; 10 arr[j - 1] = tmp; 11 } 12 } 13 } 14 15 return arr; 16 }