基本思想:相邻两个值进行比较,大的值沉下去,小的值冒泡上来,每一次循环把其中最大值放到后面去。
动态图效果:
javascript示例代码:
var arr1= [1,2,3,5,44,22,12,4,2,66,27];
function sort(arr){
if(!(arr instanceof Array) || arr.length < 2) return arr;
const compLen = arr.length - 1;
for( let i=0; i < compLen; i++){
for(let j =0; j < compLen - i; j++){
if(arr[j] > arr[j+1]){
let temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
sort(arr1);
排序后 arr1 = [1, 2, 2, 3, 4, 5, 12, 22, 27, 44, 66];