核心思想就是每轮把剩下最大的放到最右边
优化1:增加一个标志位 冒泡排序每次都会遍历整个数组,即使在已经完全排序的情况下。你可以添加一个标志位来检测在一次遍历中是否发生了元素交换。如果没有发生交换,说明数组已经有序,可以提前结束排序。
优化2:鸡尾酒排序 鸡尾酒排序是冒泡排序的一种变种,它从左到右进行一轮冒泡,然后从右到左进行一轮冒泡,依此类推。这样可以在某些情况下减少排序时间,但最坏情况下仍然是O(n^2)。
优化3:局部有序性 如果数组在某个点之后已经完全有序,你可以记录下来,然后在下一次遒发时跳过这个区域。这个优化可以减少冒泡排序的比较次数,但仍然是O(n^2)。