冒泡排序--附图解以及代码
冒泡排序Bubble Sort详解1. 什么是冒泡排序冒泡排序是一种基于比较的交换排序算法。它的核心思想是重复遍历待排序序列依次比较相邻的两个元素若顺序错误逆序则交换直到没有逆序对为止。每一轮遍历都会将当前未排序部分中的最大或最小元素“冒泡”到序列的末端如同气泡从水底浮起因此得名。2. 算法步骤以升序为例从数组第一个元素开始依次比较相邻元素arr[i]和arr[i1]。若arr[i] arr[i1]则交换两者位置。继续向后比较直到数组末尾。此时整个序列的最大值已被交换到最后一位。忽略已排好的最后一个元素对剩余的前n-1个元素重复上述过程。每一轮结束后未排序部分的最大值都会“冒泡”到正确位置。重复n-1轮或直到某一轮未发生任何交换排序结束。3. 动态演示4. 算法复杂度与稳定性特性值最好时间复杂度O(n) —— 数组已有序优化版最坏时间复杂度O(n²) —— 数组完全逆序平均时间复杂度O(n²)空间复杂度O(1) —— 原地排序无需额外数组稳定性稳定—— 相等元素的相对顺序不变5. 优缺点优点算法逻辑简单易于理解和实现。稳定排序适合对稳定性有要求的场景。原地排序内存占用极低。经过优化后对近乎有序的数组效率很高O(n)。缺点平均和最坏时间复杂度均为 O(n²)处理大规模数据时效率低下。实际工程中几乎不被采用仅作为教学或小规模数据排序。6. 示例代码#includestdio.h#includestdbool.h// 优化版冒泡排序voidbubbleSort(intarr[],intn){for(inti0;in-1;i){bool flagfalse;for(intj0;jn-1-i;j){if(arr[j]arr[j1]){inttemparr[j];arr[j]arr[j1];arr[j1]temp;flagtrue;}}if(!flag)break;}}intmain(){intarr[]{5,8,6,3,9,2,1,7};intnsizeof(arr)/sizeof(arr[0]);bubbleSort(arr,n);for(inti0;in;i)printf(%d ,arr[i]);// 输出123456789return0;}

相关新闻

大数据用户画像系统架构与核心技术解析

大数据用户画像系统架构与核心技术解析

1. 项目背景与核心价值 大数据时代的用户画像分析已经成为企业精准营销、产品优化的核心工具。这个毕设项目选择"基于大数据的用户画像分析系统"作为课题,正是抓住了当前数字化转型中最关键的技术需求点。我在实际电商平台用户分析项目中深刻体会到&#…

2026/7/29 8:07:54 阅读更多 →
大模型RAG优化17种实战策略解析

大模型RAG优化17种实战策略解析

1. 大模型RAG优化完全指南:为什么需要17种策略?RAG(Retrieval-Augmented Generation)技术已经成为当前大模型应用的核心范式之一。简单来说,它通过将传统的信息检索(Retrieval)与生成式大模型&a…

2026/7/29 8:06:53 阅读更多 →
Python连接达梦数据库DM8:从驱动选型到生产部署的实战指南

Python连接达梦数据库DM8:从驱动选型到生产部署的实战指南

1. 项目概述:为什么Python开发者需要关注达梦数据库?最近在几个企业级项目的技术选型会上,达梦数据库(DM8)被提及的频率越来越高。作为一个在数据领域摸爬滚打了十多年的老码农,我最初对它的印象还停留在“…

2026/7/29 8:06:53 阅读更多 →

最新新闻

硬件工程师必修课:信号与电源完整性设计实战指南

硬件工程师必修课:信号与电源完整性设计实战指南

1. 项目概述:为什么信号与电源完整性是硬件工程师的“必修课”刚入行做硬件设计那会儿,总觉得原理图连对、PCB能画出来、板子能点亮就是成功。直到第一次做一块高速数字板,板子回来上电,功能时好时坏,用示波器一量&…

2026/7/29 8:15:56 阅读更多 →
基于ESP32-S3的3D裸眼风扇:从视觉暂留原理到无线智能显示实战

基于ESP32-S3的3D裸眼风扇:从视觉暂留原理到无线智能显示实战

1. 项目概述:从“风扇”到“空中画师”的蜕变 最近在创客圈和极客社区里,一个老项目又火了起来,那就是“3D裸眼风扇”。你可能在商场、科技展或者短视频里见过它:一个高速旋转的扇叶上,排列着一圈LED灯,当它…

2026/7/29 8:15:56 阅读更多 →
Java中使用阿里巴巴开源库TransmittableThreadLocal:跨线程上下文传递讲解

Java中使用阿里巴巴开源库TransmittableThreadLocal:跨线程上下文传递讲解

Java中使用阿里巴巴开源库TransmittableThreadLocal:跨线程上下文传递讲解 问题背景 Java 的 ThreadLocal 只能在当前线程内读写数据。当任务被提交到线程池执行时,子线程(线程池中的工作线程)无法读取到父线程设置的 ThreadLoc…

2026/7/29 8:15:56 阅读更多 →
低压工况下阀门密封性能的影响因素与试验评价方法

低压工况下阀门密封性能的影响因素与试验评价方法

1. 问题背景在阀门压力试验中,常见的一种认识是:如果阀门能够通过高压密封试验,那么低压密封性能通常也不会存在问题。这一认识并不适用于所有阀门结构。阀门的密封性能取决于密封副接触压力、密封面形貌、关闭件定位、阀座预紧以及介质压差等…

2026/7/29 8:15:56 阅读更多 →
PLC顺序控制实战:定时器与比较指令实现电机顺序启停

PLC顺序控制实战:定时器与比较指令实现电机顺序启停

1. 项目缘起:一个经典但易错的工业控制场景在工厂的自动化产线上,我们经常会遇到这样的需求:几台电动机需要按照特定的顺序启动,比如先启动主传动电机,再启动送料电机,最后启动冷却风机;而在停机…

2026/7/29 8:15:56 阅读更多 →
C++程序员视角:彻底清除Windows顽固广告弹窗的系统级攻防指南

C++程序员视角:彻底清除Windows顽固广告弹窗的系统级攻防指南

1. 项目概述:从“弹窗”到“系统级”的攻防思维 “怎么彻底关闭广告弹窗?”——这几乎是每个Windows用户都曾咬牙切齿问过的问题。尤其是当你发现,即便卸载了某个软件,它的“屏保广告”或者“清理助手”依然像幽灵一样定时弹出&am…

2026/7/29 8:14:55 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻