面试题-冒泡算法

冒泡算法,

原理是:比较第一个与后一个比较,如果第一个比后一个大,交换,那么第一层遍历完之后,末尾的最后一个一定是最大的。

              所以第二次循环的时候只循环到倒数第三个就可以了。

               以此类推。每层循环的次数会减一。


        int temp;

        //外层循环是排序的趟数
        for (int i = 0; i < arrays.length - 1 ; i++) {

            //内层循环是当前趟数需要比较的次数
            for (int j = 0; j < arrays.length - i - 1; j++) {

                //前一位与后一位与前一位比较,如果前一位比后一位要大,那么交换
                if (arrays[j] > arrays[j + 1]) {
                    temp = arrays[j];
                    arrays[j] = arrays[j + 1];
                    arrays[j + 1] = temp;
                }
            }
        }

猜你喜欢

转载自blog.csdn.net/weixin_41609327/article/details/82227271