冒泡排序,是一种较简单的排序算法,这个算法的由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会浮到顶端一样,故命名“冒泡排序。冒泡排序是一种稳定排序算法。
冒泡排序法基本思想:对未排序的各元素从头到尾依次比较相邻的两个元素大小关系,若大于则交换位置,经过一轮比较排序可得出最大值,然后使用同样的方法把剩下的元素逐个比较即可。若有N个元素,则要进行N-1轮比较,第M轮要进行N-M次比较。(若有6个元素,则要进行5轮比较,第一轮比较5次,第四轮比较2次。)
时间复杂度:O(n*n)
代码如下:
class ArraySortDemo{
public static void main(String[] args){
int[] arr={2,9,6,7,4,1};
printArray(arr);//[2,9,6,7,4,1]
bubbleSort(arr);//排序
printArray(arr);//结果应为[1,2,4,6,7,9]
}
//冒泡排序
static void bubbleSort(int[] arr){
for(int times=1;times<=arr.length-1;times++){
for(int i=1