冒泡排序是指它重复地遍历要排序的元素列,依次比较两个相邻的元素,如果顺序不是从小到大排列,就把他们交换过来。遍历元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
package com.etime.zero;
public class BubblingSort {
/*
* i表示轮数 j表示交换的次数 可以看出i+j=length(数组长度)
* 第一轮 i=1;j=5
* 第二轮i=2;j=4
* 第三轮i=3;j=3
* 第四轮i=4;j=2
* 第五轮i=5;j=1
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[]array={2,3,6,9,4,5};
int temp=0;
int len=array.length;
for(int i=1;i<len;i++){//控制轮数 length-1;
for(int j=0;j<(len-i);j++){ //控制比较的次数 length-轮数
if (array[j]>array[j+1]) { //实现元素之间的交换
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
}
for(int i=0;i<len;i++){
System.out.println(array[i]);
}
}
}