JS实现冒泡排序
作为前端开发者,你需要使用js去做任何事情。虽然排序在浏览器端没有什么太大的用处,尤其是对数组的排序,毕竟存在Array.prototype.sort()这个内置的方法。
冒泡排序就是每次比较两个值,将最大或最小值“浮动”到一侧。
如(从小到大):var arr = [2, 9, 1, 4, 5];
第一组比较(找出最大值),将其“冒泡”到最右侧
第一次比较 2与9,[2, 9, 1, 4, 5]
第二次比较9与1,[2, 1, 9, 4, 5]
第三次比较9与4,[2, 1, 4, 9, 5]
第四次比较9与5,[2, 1, 4, 5, 9]
这样数组中的最大值9就到了最后,接下来进行第二组比较(只需比较3次,最大值9无需比较),来找出第二大的值......... JS代码实现如下:
function bubbleSort(arr) {
var len = arr.length,
temp = 0;
for (var i = 0; i < len; ++i) {
for (var j = 0; j < len - 1 - i; ++j) {
if (arr[j] > arr[j + 1]) {
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}