冒泡排序
原理
- 会进行 n-1轮的比较,每一轮确定将一个数归位;
- 每次比较,比较相邻的两个数,按着规则进行位置交换。
代码
/**
* @description: 冒泡排序
* 每次比较相邻的两个数,根据规则交换位置
* 比较n-1轮, 每一轮得出一个符合条件的数
* @param {Array} arr
* @return {Array}
*/
function bubbleSort(arr) {
for(let i = 0; i < arr.length; i++) { //n - 1 轮
for(let j = 0; j < arr.length - i; j++) { // 遍历比较
if(arr[j] > arr[j+1]) { // 按着规则交换位置
const temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}
const arr = [12,35,99,18,76];
const result = bubbleSort(arr);
console.log(result); // [12,18,35,76,99]