数组冒泡排序

public class SecondDemo {
    
    //数组冒泡排序,从小到大
    public static void bubuuMin(int[] arr) {
        for(int x=0;x<arr.length-1;x++) {
            //-x的目的是为了每次比较的元素减少
            //-1的目的是为了防止角标越界
            for(int y=0;y<arr.length-x-1;y++) {
                if(arr[y]>arr[y+1]) {
                    int temp = arr[y];
                    arr[y] = arr[y+1];
                    arr[y+1] = temp;
                }
            }
        }
    }
    
    //数组冒泡排序,从大到小
    public static void bubbMax(int[] arr) {
        //外循环,表示循环次数
        for(int x=0;x<arr.length-1;x++) {
            //-x表示每一次比较的元素减少
            //-1是为了防止角标越界
            for(int y=0;y<arr.length-x-1;y++) {
                if(arr[y]<arr[y+1]) {
                    int temp = arr[y];
                    arr[y] = arr[y+1];
                    arr[y+1] = temp;
                }
            }
        }
    }
    
    //输出数组中的元素
    public static void printout(int[] arr) {
        System.out.print("[");
        for(int x=0;x<arr.length;x++) {
            if(x != arr.length-1) {
                System.out.print(arr[x]+",");
            }else {
                System.out.println(arr[x]+"]");
            }
        }
    }
    
    public static void main(String[] args) {
        int[] arr = {2,45,23,67,43,99,1};
        //进行冒泡排序,从小到大
        bubuuMin(arr);
        //输出数组元素
        printout(arr);
        //进行冒泡排序,从大到小
        bubbMax(arr);
        //输出数组元素
        printout(arr);
    }

}
 

猜你喜欢

转载自blog.csdn.net/qq_40386113/article/details/83614645