1、算法思想:判断两个相邻元素,大于则交换位置
2、算法步骤
(1)从数组中第一个数开始,依次与下一个数比较并次交换比自己小的数,直到最后一个数。如果发生交换,则继续下面的步骤,如果未发生交换,则数组有序,排序结束,此时时间复杂度为O(n);
(2)每一轮”冒泡”结束后,最大的数将出现在乱序数列的最后一位。重复步骤(1)
3、算法平均复杂度:n(n^2)
function sortArr(arr) {
//外层循环,控制趟数,每一次找到一个最大值
for (var i = 0; i < arr.length; i++) {
// 内层循环,控制比较的次数,并且判断两个数的大小 -i 是因为每找到一个最大数 后面就不需要在比较了
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = temp
}
}
}
return arr
}