冒泡排序是一种基于比较和交换操作的排序算法。 每轮冒泡的过程都是从第一个元素开始,将该元素和相邻下一个元素进行比较和交换,使得较大的元素向右移动(如果该元素大于下一个元素,则两个元素交换;如果该元素小于等于下一个元素,则保持不变)。这样一来,每轮冒泡的过程都可以确定一个元素放在正确的位置上,而这个元素就是剩余元素中最大的元素,正确的位置就是剩余位置中的最右侧的位置。
冒泡排序的时间复杂有多种情况,由给出的数据的有序情况而定,最好情况是数组本身已经有序,冒泡排序只需要一轮就可退出,相反数组本身是逆序的,完成冒泡排序需要n轮,比较的次数为n+(n-1)+(n-2)+...+2+1,时间复杂程度大