当前位置: 首页 > ops >正文

冒泡排序-java

public class BubbleSort{
    public static void bubbleSort(int[] arr) {
        int n = arr.length;
        boolean swapped;
        // 外层循环控制遍历的轮数
        for (int i = 0; i < n - 1; i++) {
            swapped = false; 
            for (int j = 0; j < n - 1 - i; j++) {
                // 如果当前元素大于下一个元素,则交换它们
                if (arr[j] > arr[j + 1]) {
                    // 交换arr[j]和arr[j+1]
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true; // 发生了交换
                }
            }
            // 如果这一轮没有发生交换,说明数组已经有序,可以提前结束排序
            if (!swapped) {
                break;
            }
        }
    }
    public static void main(String[] args) {
        int[] arr = {64, 34, 25, 12, 22, 11, 90};
        bubbleSort(arr);
        System.out.println("Sorted array:");
        for (int value : arr) {
            System.out.print(value + " ");
        }
    }
}

http://www.xdnf.cn/news/6807.html

相关文章:

  • stack和queue简单模拟实现
  • 一个可拖拉实现列表排序的WPF开源控件
  • 使用lvm进行磁盘分区
  • LLVM编译器
  • 安装nerdctl和buildkitd脚本命令
  • Go语言深度解析:发展历程、应用场景与性能对比
  • 【springboot+vue3的前后端分离项目实现支付宝的沙箱支付】
  • 从零开始理解Jetty:轻量级Java服务器的入门指南
  • C++跨平台开发:挑战与应对策略
  • Linux:基础IO
  • EXO分布式部署deepseek r1
  • (面试)TCP、UDP协议
  • 38-日语学习小程序
  • 【滑动窗口】P4085 [USACO17DEC] Haybale Feast G|普及+
  • OpenCV透视变换
  • C++学习:六个月从基础到就业——C++11/14:decltype关键字
  • JavaScript进阶(十)
  • 3D个人简历网站 4.小岛
  • Python爬虫(29)Python爬虫高阶:动态页面处理与云原生部署全链路实践(Selenium、Scrapy、K8s)
  • Adobe Illustrator学习备忘
  • 【论文阅读】A Survey on Multimodal Large Language Models
  • MATLAB中进行深度学习网络训练的模型评估步骤
  • 【第一篇】 创建SpringBoot工程的四种方式
  • python field_validator 获取不到参数问题
  • matlab求矩阵的逆、行列式、秩、转置
  • java中的方法详解
  • QML 属性动画、行为动画与预定义动画
  • Python 中的 typing.ClassVar 详解
  • NAT转换和ICMP
  • 前k个高频元素