冒泡排序算法为一种比较排序算法(还有快速排序),较小的数字如同气泡般慢慢浮到上面,所以称为冒泡排序。为就地排序,稳定。
算法思想:两两比较相邻记录的关键字,如果反序则交换,知道没有反序的记录为止。
算法思想:记录未排序最后位置的冒泡排序。在优化方法1的基础上再次进行改进,每次循环记录最后一次发生交换的元素的位置,这说明这之后的元素已经有序,下一次循环不用比较这些元素。
算法思想:在优化方法2的基础上继续改进,每次循环不仅从前向后扫描记录最后一次发生交换的元素的位置up,而且从后向前扫描记录再次扫描记录最前面发生交换的元素的位置low,这样两侧的元素已经有序,当low>=up的时候证明整个数组有序。
最好的情况下,时间复杂度为O(n)。
最坏的情况下,时间复杂度为O(n^2)。