基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。(或者是小的数字下沉,大的上冒)
java实现:
public class SortTest {
private static int[] bubbleSort(int[] args){
int temp = 0;
for(int i = 0; i < args.length; i++){
for(int j = 0; j < args.length - 1; j++){
if(args[i] < args[j]){
temp = args[j];
args[j] = args[i];
args[i] = temp;
}
}
}
return args;
}
public static void main(String[] args) {
int[] a = {34,56,43,57,41,39,32,99,33};
int[] c = bubbleSort(a);
for(int i = 0 ; i < c.length; i++){
System.out.println(c[i]);
}
}
}