O(n)、最差的情况是O(n*n)
空间复杂度是O(1)
特点:外层for循环控制循环次数、内层for循环进行两数交换,找出最大的数放到最后
改进:
1)处理在排序过程中数组整体已经有序的情况,设置标志位...2)数组局部有序,遍历过程中记录最后一次交换的位置,设置为下一次交换的终点
3)同时将最大最小值归位,双向冒泡排序
2.实现一个快速排序算法
/**
* 快速排序
* 1.选择一个基准
* 2....concat(pivot).concat(quickSort(right))
}
var arr = [1, 8, 4, 5, 7, 9, 6, 2, 3]
quickSort(arr)
3.实现插入排序算法...}
}
}
return newArr
}
var arr = [1, 8, 4, 5, 7, 9, 6, 2, 3]
insertSort(arr)
4.实现选择排序算法...每次循环选取一个最小的数字放到前面的有序序列中
function swap(arr, i, j) {
var temp = arr[i]
arr[i] = arr[j]
arr[j] =