在查阅资料和网上搜索前辈讲解分析后,通过操作分析终于搞明白了困扰已久的冒泡排序,记录如下:
原理是:临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,
这样一趟过去后,最大或最小的数字被交换到了最后一位,
然后再从头开始进行两两比较交换,直到倒数第二位时结束.代码如下 :
public class MaoPaoTest {
public static void main(String[] args) {
int[] num = {8,4,11,7,3};
/*使用Java自己提供的Arrays.sort(数组类型)方法亦可完成
java.util.Arrays.sort(num);*/
//System.out.println(num.length);
for(int i=1;i<num.length;i++){
for(int j=0;j<num.length-i;j++){
if(num[j]>num[j+1]){//两两之间进行比较,大的放后,小的放前
int temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
System.out.print("第"+i+"趟排序后的结果:");
for(int j=0;j<num.length;j++){
System.out.print(num[j]+" ");
}
System.out.println();//换行
}
//排序完成后打印结果:
for(int i=0;i<num.length;i++){
System.out.prin