冒泡排序(Bubbling Sort)是一种比较直观的排序方式。数组中的元素大小就像就像水中的气泡一样,气泡大的先浮出来,气泡大的会放到数组最后。冒泡排序比较相邻的两个元素,如果数组坐标小的的元素A大于坐标大的元素B,交换两元素,循环重复上述对比交换工作,直到数组排序完成。
冒泡排序有一种情况说明该数组已经是有序数组,在第一趟遍历中元素没有发生交换,则说明该序列已经有序。
function bubblingSort(arr){
var len = arr.length;
for(var i = 0; i < len - 1; i++){
for(var j = 0; j < len - 1 - i; j++){
// 避免 第一个循环 出现数组访问越界问题
if (j == len - 1) {
continue;
}
if (arr[j] > arr[j + 1]) {
var tempV = arr[j+1];
arr[j+1] = arr[j];
arr[j] = tempV;
}
}
}
return arr;
}