Java 冒泡排序

     排序执行的动做有比较、交换、移动,冒泡排序在排序里面最简单啦,冒泡排序每次选出最大的数,放在最右边,使用Java中的数组实现冒泡排序。数组

    交换两个数this

    

public class SwapTwo {

    /**
     *@author chengdu
     *@param args
     */
    private int[] bubble;
    
    public void setBubble(int[] bubble){
        this.bubble = bubble;
    }
    public int[] getBubble(){
        return bubble;
    }
    
    public void swapTwoNumber(int x, int y){   //传入数组的索引位置,交互数组的两个值
        int lenbubble = bubble.length;
        if(x > lenbubble - 1 || y > lenbubble - 1){
            System.out.println("数组越界");
        } 
        else {
            int temp;
            if(bubble[x] > bubble[y]){
                temp = bubble[x];
                bubble[x] = bubble[y];
                bubble[y] = temp;
            }
        }
        System.out.println("从小到大依次是:"+bubble[x]+","+bubble[y]);
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SwapTwo st = new SwapTwo();
        int[] bubble = {1, 9, 8, 5, 2, 6, 4, 3, 7};
        System.out.println(bubble.length);
        st.setBubble(bubble);
        st.swapTwoNumber(0, 1);
    }
}

     排序spa

    

public class BubbleSort {

    /**
     * @author chengdu
     * @param args
     */
    private SwapTwo swaptwo;
    
    public void setSwaptwo(SwapTwo swaptwo){
        this.swaptwo = swaptwo;
    }
    
    public SwapTwo getSwaptwo() {
        return swaptwo;
    }
    
    public void bubbleSortMethod(int[] array){   //传入待排序数组
        int pos;    //第几趟比较
        int lenarray = array.length;
        swaptwo.setBubble(array);
        for(pos=1; pos < lenarray; pos++){
             System.out.println("次数-------:"+pos);
             for(int i = 0; i < lenarray - pos; i++){   //一次排序的过程,将最大的数放到最后面
                     swaptwo.swapTwoNumber(i, i+1);
             }
        }
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SwapTwo swaptwo = new SwapTwo();
        BubbleSort bubblesort = new BubbleSort();
        int[] arrayone = {1, 9, 8, 3, 7, 6, 5, 2, 4, 10, 11, 35, 24};  //待排序数组
        //swaptwo.setBubble(arrayone);    //设置一下该类的属性
        bubblesort.setSwaptwo(swaptwo);
        bubblesort.bubbleSortMethod(arrayone);
        for(Integer i : arrayone){
            System.out.println(i);
        }
        //swaptwo.swapTwoNumber(1, 2);
    }

}

运行code

次数-------:1
从小到大依次是:1,9
从小到大依次是:8,9
从小到大依次是:3,9
从小到大依次是:7,9
从小到大依次是:6,9
从小到大依次是:5,9
从小到大依次是:2,9
从小到大依次是:4,9
从小到大依次是:9,10
从小到大依次是:10,11
从小到大依次是:11,35
从小到大依次是:24,35
次数-------:2
从小到大依次是:1,8
从小到大依次是:3,8
从小到大依次是:7,8
从小到大依次是:6,8
从小到大依次是:5,8
从小到大依次是:2,8
从小到大依次是:4,8
从小到大依次是:8,9
从小到大依次是:9,10
从小到大依次是:10,11
从小到大依次是:11,24
次数-------:3
从小到大依次是:1,3
从小到大依次是:3,7
从小到大依次是:6,7
从小到大依次是:5,7
从小到大依次是:2,7
从小到大依次是:4,7
从小到大依次是:7,8
从小到大依次是:8,9
从小到大依次是:9,10
从小到大依次是:10,11
次数-------:4
从小到大依次是:1,3
从小到大依次是:3,6
从小到大依次是:5,6
从小到大依次是:2,6
从小到大依次是:4,6
从小到大依次是:6,7
从小到大依次是:7,8
从小到大依次是:8,9
从小到大依次是:9,10
次数-------:5
从小到大依次是:1,3
从小到大依次是:3,5
从小到大依次是:2,5
从小到大依次是:4,5
从小到大依次是:5,6
从小到大依次是:6,7
从小到大依次是:7,8
从小到大依次是:8,9
次数-------:6
从小到大依次是:1,3
从小到大依次是:2,3
从小到大依次是:3,4
从小到大依次是:4,5
从小到大依次是:5,6
从小到大依次是:6,7
从小到大依次是:7,8
次数-------:7
从小到大依次是:1,2
从小到大依次是:2,3
从小到大依次是:3,4
从小到大依次是:4,5
从小到大依次是:5,6
从小到大依次是:6,7
次数-------:8
从小到大依次是:1,2
从小到大依次是:2,3
从小到大依次是:3,4
从小到大依次是:4,5
从小到大依次是:5,6
次数-------:9
从小到大依次是:1,2
从小到大依次是:2,3
从小到大依次是:3,4
从小到大依次是:4,5
次数-------:10
从小到大依次是:1,2
从小到大依次是:2,3
从小到大依次是:3,4
次数-------:11
从小到大依次是:1,2
从小到大依次是:2,3
次数-------:12
从小到大依次是:1,2
1
2
3
4
5
6
7
8
9
10
11
24
35blog

相关文章
相关标签/搜索