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

冒泡排序算法

冒泡排序算法
冒泡排序是一种简单直观的排序算法。它通过重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就交换位置。每一轮遍历都会使得当前未排序部分的最大元素"浮"到数列的末端。

算法步骤如下:

  1. 比较相邻元素,如果前一个比后一个大,就交换它们
  2. 对每一对相邻元素重复上述操作,直到数列末尾
  3. 重复上述过程,每次遍历的元素数量减一(因为末尾已排序)
  4. 直到没有元素需要比较时,排序完成

该算法的时间复杂度为O(n²),在最坏情况下需要进行n(n-1)/2次比较。虽然效率不高,但由于实现简单,常被用于教学和简单场景。优化版本可以通过设置标志位来提前终止排序过程。冒泡排序是一种简单直观的排序算法。它通过重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就交换位置。每一轮遍历都会使得当前未排序部分的最大元素"浮"到数列的末端。

算法步骤如下:

  1. 比较相邻元素,如果前一个比后一个大,就交换它们
  2. 对每一对相邻元素重复上述操作,直到数列末尾
  3. 重复上述过程,每次遍历的元素数量减一(因为末尾已排序)
  4. 直到没有元素需要比较时,排序完成

该算法的时间复杂度为O(n²),在最坏情况下需要进行n(n-1)/2次比较。虽然效率不高,但由于实现简单,常被用于教学和简单场景。优化版本可以通过设置标志位来提前终止排序过程。
个人学习记录一下,以免忘记

bool isSort = false;    
for (int m = 0; m < ints.Length; m++)  // 外层循环控制排序趟数
{isSort = false;     // 每趟排序开始前,假设没有交换for (int n = 0; n < ints.Length-1-m; n++)    // 内层循环控制每一趟排序多少次,-m是为了避免重复比较{if (ints[n] > ints[n + 1]){isSort = true; // 假设有交换int temp = ints[n];     // 建立中介值,交换两个元素ints[n] = ints[n + 1];ints[n + 1] = temp;}}if (!isSort)    // 如果假设没有交换,则说明排序完成{for (int i = 0; i < ints.Length; i++){Debug.Log(ints[i]);}break; // 如果没有交换,说明已经排序完成,提前退出循环}
}
http://www.dtcms.com/a/304086.html

相关文章:

  • Chrome 提示 “此扩展程序不再受支持”(MacOS/Windows)
  • CVPR 2025 | 华科精测:无需人工标注也能精准识别缺陷类别,AnomalyNCD 实现多类别缺陷自主分类
  • 实用PDF演示解决方案
  • Transformer实战——BERT模型详解与实现
  • 鸿蒙网络编程系列59-仓颉版TLS回声服务器示例
  • deepseek+飞书多维表格 打造小红书矩阵
  • [源力觉醒 创作者计划]_文心大模型4.5开源:从技术突破到生态共建的国产AI解读与本地部署指南
  • AI药师助手 + 药品图谱系统完整操作分析(python版)
  • 【数据可视化-74】电信用户流失数据可视化分析:Python + Pyecharts 炫酷大屏(含完整的数据,代码)
  • 【安装软件系列】Ubuntu安装MongoDb
  • 姑苏区人工智能大模型基础设施|参数1-3:服务器整体
  • React--》规划React组件库编码规范与标准 — Button篇
  • 第十三讲:C++多态
  • 多个参数组合生成sql的方法
  • BERT 的 NSP慢慢转换为SOP
  • arm v3 smmu 图示
  • Android四大组件之BroadcastReceiver解析
  • [2025CVPR]HUGNet2架构:事件相机光流估计
  • 智能落地扇方案:青稞RISC-V电机 MCU一览
  • Java 10 新特性解析
  • 【嵌入式电机控制#18】有刷直流串级控制
  • Redis的持久化策略-AOF和RDB(详细图解)
  • 同创永益 IStorM Chaos 混沌工程平台智能化:智能实验工作台,多智能体协作,筑牢系统稳定性防线
  • [css]旋转流光效果
  • RabbitMQ 消息持久化的三大支柱 (With Spring Boot)
  • 焊接机器人智能化气体节约方案
  • arm smmu v3 队列实现机制
  • 【Linux知识】Linux Shell 脚本中的 `set -ex` 命令深度解析
  • Spark SQL 数组函数合集:array_agg、array_contains、array_sort…详解
  • 水仙花数(python)