【基础排序】冒泡排序

冒泡排序(Bubble Sort)是基于交换的排序,每次遍历需要排序的元素,依次比较相邻的两个元素的大小,如果前一个元素大于后一个元素则两者交换,保证最后一个数字一定是最大的(假设按照从小到大排序),即最后一个元素已经排好序,下一轮只需要保证前面 n-1 个元素的顺序即可。之所以称为冒泡,是因为最大/最小的数,每一次都往后面冒,就像是水里面的气泡一样。

排序(假设从小到大)的步骤(划重点)如下:
1. 从头开始,比较相邻的两个数,如果第一个数比第二个数大,那么就交换它们位置。
2. 从开始到最后一对比较完成,一轮结束后,最后一个元素的位置已经确定。
3. 除了最后一个元素以外,前面的所有未排好序的元素重复前面两个步骤。
4. 重复前面 1 ~ 3 步骤,直到所有元素都已经排好序。

复制代码
package sort;

public class BubbleSort {

    public static void bubbleSort(int[] nums) {
        int size = nums.length;
        for(int i = 0;i < size - 1;i++) { // 进行n-1仑排序,每一轮找出当前轮最小的数字.
            for(int j = 0;j < size - 1 - i;j++) {
                if(nums[j] > nums[j + 1]) {
                    int temp = nums[j + 1];
                    nums[j + 1]  =nums[j];
                    nums[j] = temp;
                }
                //printf(nums);
            }
        }

    }


    public static void printf(int[] nums) {
        for (int num : nums) {
            System.out.print(num + " ");
        }
        System.out.println("");
    }

    public static void main(String[] args) {
        int[] nums = new int[]{12, 56 , 22, 33, 5, 89, 56, 36, 33, 9 };
        printf(nums);
        bubbleSort(nums);
        printf(nums);
    }
}
View Code
复制代码

 引用链接:https://www.cnblogs.com/yyyyfly1/p/15773593.html

posted @   v大喵  阅读(125)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示