冒泡排序的原理:
如下,从第一个元素开始,把当前元素和下一个索引元素进行比较。如果当前元素大,那么就交换位置,重复操作直到比较到最后一个元素,那么此时最后一个元素就是该数组中最大的数。下一轮重复以上操作,但是此时最后一个元素已经是最大数了,所以不需要再比较最后一个元素,只需要比较到 length - 1 的位置。
简单来说:每次比较相邻的两个数,如果后一个比前一个小,换位置。
function bubble(array) {
for (let i = 0; i < array.length; i++){
for (let j = 0; j < array.length - 1 - i; j++){
if (array[j + 1] < array[j]) {
let temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
}
}
}
return array;
}
参考资料:值得收藏的十大经典排序算法
网友评论