冒泡排序及其优化(Java) 2021.12.31

冒泡排序及其优化(Java) 2021.12.31,第1张

冒泡排序及其优化(Java) 2021.12.31

冒泡排序核心思想:每次将数组中的最大值放在数组中最后一个位置

优化:在排序的过程判断数组元素的位置有没有交换,如果交换则继续;如果在一次排序中没有发生数组元素交换位置,则说明数组已经有序,停止排序。

代码如下:

package DataStructures.sort;

public class BubbleSort {

    public static void main(String[] args) {

        int[] nums = {23,25,99,5,1,3};
        bubbleSort(nums);
        print(nums);

    }

    public static void bubbleSort(int[] nums){
        for( int i = 0; i < nums.length - 1; i++){
            boolean flag = false;
            for( int j = 0; j < nums.length - i - 1; j++){
                if( nums[j] > nums[j+1] ){
                    flag = true;
                    int temp = nums[j];
                    nums[j] = nums[j+1];
                    nums[j+1] = temp;
                }
            }

            if( !flag ){
                break;
            }
            System.out.printf("第%d趟排序:",i+1);
            print(nums);
            System.out.println();
        }
    }

    public static void print(int[] nums){
        for( int i = 0; i < nums.length; i++){
            System.out.print(nums[i]+" ");
        }
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5687070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存