冒泡排序
比较两个相邻的项,如果第一个比第二个大,则交换他们。
时间复杂度:O(n²)
图示
原始代码
第一次优化
当我们在比较相邻两项的时候,数组的最后一项其实是在和 undefined
进行比较,值永远是 false
,所以我们可以直接从内循环减去这次操作。
第二次优化
在我们每一轮的比较结束后,这一轮的最后一项一定是本轮中的最大值,即为有序项,故可以在后序的内循环中减去本次操作。
Last updated
比较两个相邻的项,如果第一个比第二个大,则交换他们。
时间复杂度:O(n²)
当我们在比较相邻两项的时候,数组的最后一项其实是在和 undefined
进行比较,值永远是 false
,所以我们可以直接从内循环减去这次操作。
在我们每一轮的比较结束后,这一轮的最后一项一定是本轮中的最大值,即为有序项,故可以在后序的内循环中减去本次操作。
Last updated