}
}
if (thisTurnEndPos === endPos) { // 如果最后交换的位置不变则说明整体有序,排序完成
return arr
}...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.实现选择排序算法