冒泡排序(Bubble Sort)的Javascript实现
冒泡排序的思想:(按从小到大为例)
- 比较相邻的元素,如果前者>后者,则交换位置;
- 对每一对相邻元素做同样的工作,从开始第一对到最后一对,这样最后一个元素应该是最大的数;
- 再对除了最后一个,重复以上的步骤;
- 持续每次对原来越少的元素重复以上的步骤,直到没有任何一对数字需要比较。
代码实现:(仅限于一维数组)
let arr = [3, 1, 9, 2]
function bubble(arr) {
if(!Array.isArray(arr)){
return
}
let len = arr.length
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr
}
arr = bubble(arr)
console.log(arr)
var arr = [1,2,5,78,255,58,68,4,3]
for(var i =0 ; i<arr.length-1 ; i++){
for(var j = 0 ; j<arr.length-1-i ; j++){
if(arr[j]>arr[j+1]){
var sum = arr[j]
arr[j] = arr[j+1]
arr[j+1] = sum
}
}
}
console.log(arr)