public static void main(String args[]){
int a[]={0,9,5,6,10,2,7,8};
bubbleSort(a);
}
//打印当前数组的内容
public static void printArray(String text,int []a){
System.out.print(text);
int n = a.length;
//遍历数组当中的内容
for(int i=0;i<n-1;i++){
System.out.print(a[i]+",");
}
System.out.println(a[n-1]);
}
/**
* 冒泡排序法(升序)
* 基本思想:数组内的数据两两比较和交换,每次冒出一个关键字最大的记录(升序)或关键字最小的记录(降序)
* @param a 排序的数组
*/
public static void bubbleSort(int a[]){
int n = a.length;
printArray("开始冒泡排序:",a);
for(int i=0;i<n;i++){
for(int j=0;j<n-i-1;j++){
if(a[j]>a[j+1]){
int temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
printArray("交换"+ a[j+1] +"和"+ a[j]+":", a);
}
}
}
}
看结果: