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

冒泡排序算法优化

一 概述

        冒泡排序是一种简单的交换排序算法,其核心思想是通过相邻元素比较和交换将最大元素逐步移动到数组末尾。

二、基础冒泡排序

 void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                swap(arr[j], arr[j+1]);
            }
        }
    }
}
                    

                  
三、优化方案及实现

1 提前终止优化(最优情况时间复杂度O(n))
   void optimizedBubble1(int arr[], int n) {
    bool swapped;
    for (int i = 0; i < n-1; i++) {
        swapped = false;
        for (int j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                swap(arr[j], arr[j+1]);
                swapped = true;
            }
   


http://www.kler.cn/a/572214.html

相关文章:

  • JavaWeb——CSS
  • Unity 适用Canvas 为任一渲染模式的UI 拖拽
  • Excel-to-JSON v2.0.0发布,可以在Excel内部,把Excel表格转换成JSON,嵌套的JSON也能转
  • 数据结构(初阶)(四)----双向链表
  • 网络安全需要学多久才能入门?
  • 决策树(Decision Tree)案例分析
  • Halcon 车牌识别-超精细教程
  • Dolphinscheduler调度部署
  • 鸿蒙NEXT开发-应用/元服务签名
  • 算法基础 -- 字符串哈希的基本概念和数学原理分析
  • Windows系统安装python2025最新安装包,包括环境配置,以及安装python编程软件PyCharm2024.3.3免费社区版本,详细全流程
  • 面试八股文--数据库基础知识总结(3)MySQL优化
  • fisco-bcosV3使用go-sdk使用教程
  • 说一下redis事务底层原理
  • element-plus中添加全局样式
  • 大模型应用开发需要的知识和工具
  • 如何判断https使用了哪个版本的TLS?
  • MySQL-简介与基本命令
  • 从 Milvus 中导出数据到 JSON 文件的实践
  • 【第12节】C++设计模式(结构型模式)-Proxy(代理)模式