java—bubblesort和此类型排序的区别

ny6fqffe  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(232)
public class BubbleSortr {

    static void BubbleSorting(int[] arr){
        int steps = 0;
        int final_index = arr.length-1;
        boolean Sorted = false;

        while(!Sorted) {
            System.out.print("The array is: ");
            PrintArray(arr);
            System.out.println();
            Sorted = true;
            for (int i=0;i<final_index;i++) {
                steps++;
                if(arr[i]>arr[i+1]) {
                    int temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp; 
                    Sorted = false;
                }
            }
            final_index-=1;
        }
        System.out.println("numbers of steps is:" + steps);
    }

    static void BrutalSort(int [] arr) {
        int steps =0;
        for(int i=0;i<arr.length;i++) {
            System.out.print("The array is: ");
            PrintArray(arr);
            System.out.println();
            for(int j=i+1;j<arr.length;j++) {
                steps++;
                if(arr[i]>arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp; 
                }

            }
        }
        System.out.println("numbers of steps is:" + steps);
    }
    static void PrintArray(int[] arr) {
        for(int i=0;i<arr.length;i++) {
            System.out.print(arr[i]+" ");
        }
    }

    public static void main(String[] args) {
        int [] arr = {72,55,322,32,4,7,1,3,8,9,12,11,0};
        PrintArray(arr);
        System.out.println();
        BrutalSort(arr);
        PrintArray(arr);
    }

}

大家好,
我是算法和数据结构的初学者,我称之为brutalsort的方法常常是我在作业中使用的排序函数类型。今天,我刚刚学了泡泡运动,但我试着区分它们之间的区别,结果让我很困惑。brutalsort中的方法是否与bubblesort相同?

slwdgvem

slwdgvem1#

不同的是,冒泡排序有一个早期输出(sorted=true),您的排序丢失了。它也被称为自适应,因为它可以适应停止,如果它看到没有进行交换,因此现在一切都必须已排序。

相关问题