冒泡排序( Bubble Sort ) 算法是所有排序算法中最简单、最基本的一种。冒泡排序算法
的思路就是交换排序,通过相邻数据的交换来达到排序的目的。
排序流程如下:
( 1 ) 对数组中的各数据,依次比较相邻的两个元素的大小。
( 2) 如果前面的数据大于后面的数据,就交换这两个数据。经过第一轮的多次比较排序
后,便可将最小的数据排好。
(3)再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数
组各数据。
冒泡排序的分析:
空间效率:仅使用一个辅存单元。
时间效率:假设待排序的元素个数为 n,则总共要进行 n-1 趟排序,对 j 个元素的子序
列进行一趟起泡排序需要进行 j-1 次关键字比较。由此,起泡排序的总比较次数为
因此,起泡排序的时间复杂度为Ο(n2 )。
稳定性:稳定
图解冒泡排序:(推荐一个网站Visualgo)
java代码:
// 对指定的数据进行 冒泡排序