规则:

  • 比较相邻元素。如果前一个元素比后一个元素大,就交换这两个元素的位置

  • 对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后的位置的元素就是最大值

时间复杂度:O(n^2)

public class Bubble {
    public static void sort(Comparable[] a){
        for (int i = a.length-1; i >0 ; i--) {
            for (int j = 0; j < i; j++) {
             if(greater(a[j],a[j+1])  ){
                 each(a,j,j+1);
             }
            }
        }
    }
    private static boolean greater(Comparable v,Comparable w){
        int i = v.compareTo(w);
        return i>0;
    }
    private static void each(Comparable[] a,int i,int j){
         Comparable temp;
         temp=a[i];
         a[i]=a[j];
         a[j]=temp;
    }
}

 

posted on 2021-12-24 09:19  简易代码  阅读(41)  评论(0)    收藏  举报