今天给大家分享一下冒泡排序
冒泡排序算法是一种简单的排序算法。
原理:
从数组的开头开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,就将它们交换位置。这样一趟比较下来,最大的元素就会出现在数组的末尾。然后对除了已排好的最大元素之外的其他元素继续进行这样的操作,经过多轮比较交换,最终使整个数组按从小到大(或从大到小)的顺序排列。每一轮比较后,参与比较的元素范围会逐渐缩小。虽然算法简单直观,但效率相对不是特别高。
例如上述代码,就要执行很多次,所以优化了一下
如果这个代码本来就是升序的,那flag就不会被改变,直接跳出循环,所以节约时间,提高效率。