过程描述:
对于给定的数组数据(n个),从第一个数据开始对相邻的两个记录进行比较,当前面的大于后面的,交换位置,进行一轮比较和交换之后,最大的那个数被排到最后(即第N位),然后对前面n-1个数据进行第二次比较和交换,重复该操作。
public class BubbleSortTest{
public static int[] bubbleSort(int[] array){
int len = array.length;
int i,j,temp;
for(i=len-1;i>0;i--){
for(j=0;j<i;j++){
if(array[j]>array[j+1]){
temp = array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
public static void main(String[] args){
int a[]={2,9,0,8,7,1,5,4,3,6};
a=bubbleSort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
结果:0 1 2 3 4 5 6 7 8 9