啊哈算法学习笔记(一)冒泡排序

    public static void main(String[] args) {

        int i,j,t;
        int n = 0;
        Scanner s = new Scanner(System.in);
        System.out.println("输入一个数n,表示接下来有n个数 :");
        n = s.nextInt();
        int[] arr = new int[n];
        System.out.println("接下来请输入" + n + "个数字");
        for(i=0;i<n;i++) {
            //循环读入n个数到数组a中
            arr[i] = s.nextInt();
        }
        System.out.println(arr.length);
        System.out.println(Arrays.toString(arr));

        int m = 1;
        for (i = 0; i < n; i++) {
            for (j = 1; j < n - i; j++) {
                System.out.println(arr[j]  + " : " + arr[j-1]);
                System.out.println("第" + m + "次比较" + Arrays.toString(arr));
                if (arr[j] < arr[j - 1]) {
                    t = arr[j];
                    arr[j] = arr[j-1];
                    arr[j-1] = t;
                }
                m++;
            }
        }

        String s1 = Arrays.toString(arr);
        System.out.println("排序后:" + s1);
        //      关闭
        s.close();
    }
}

冒泡排序的时间复杂度为o(n * n)=o(n ^ 2)

猜你喜欢

转载自blog.csdn.net/qq_35275233/article/details/89175422