<script>
var arr = [1,3,2,56,225,46,23]
//冒泡排序
function bubbleSort(arr) {
var length = arr.length
for (var i = length-1; i >= 0; i--) {
for (var j = 0; j < i; j++) {
if (arr[j] > arr[j+1]) {
var temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}
return arr
}
// console.log(bubbleSort(arr));
//选择排序
function selectionSort(arr) {
var length = arr.length
//外层循环 从0开始取数据
for (var i = 0; i < length-1; i++) {
var min = i
//内层循环 从i+1开始做比较
for (var j = min + 1; j < length; j++ ) {
if (arr[min] > arr[j]) {
min = j
}
}
var temp = arr[min]
arr[min] = arr[i]
arr[i] = temp
}
return arr
}
// console.log(selectionSort(arr));
//插入排序
function insertSort(arr) {
var length = arr.length
//从第1个位置开始获取元素 向前面局部有序进行插入
for (var i = 1; i < length; i++) {
//获取i位置元素 与前面进行比较
var temp = arr[i]
var j = i
while (arr[j-1] > temp && j > 0) {
arr[j] = arr[j-1]
j--
}
arr[j] = temp
}
return arr
}
// console.log(insertSort(arr))
//快读排序
function quickSort(arr) {
if (arr.length <= 0) return arr
var pivotIndex = Math.floor(arr.length/2)
var pivot = arr.splice(pivotIndex, 1)
var left = []
var right = []
for (var i = 0; i < arr.length; i++ ) {
if (arr[i] <= pivot) {
left.push(arr[i])
} else {
right.push(arr[i])
}
}
return quickSort(left).concat(pivot, quickSort(right))
}
console.log(quickSort(arr));
</script>
冒泡排序、选择排序、插入排序、快速排序
最新推荐文章于 2021-12-20 18:35:34 发布