尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

冒泡排序 2st

冒泡排序 2st
📅 发布时间:2026/6/17 22:40:52

  该随笔是为了给某位同学解答疑惑而作,如有错误欢迎指正!

  冒泡排序主要由两个for循环组成,第一个for循环表示比较的轮数,第二个for循环表示比较的次数,何意味?

  举个简单的例子吧 假设这里有一个一维数组

arr[5]={5,4,3,2,1}

--------使用冒泡排序时,我们应该比较几轮呢?

  答案是四轮,就像把蛋糕切成两块只需要一刀,五个数字不一定非要比五轮,比四轮就够了,为什么我这里要用“轮”这个字呢?因为每“轮”里还存在着不同“次数”的比较,且听我娓娓道来
我们想用冒泡排序将一维数组内的元素排序成

arr[5]={1,2,3,4,5}   //原本是arr[5]={5,4,3,2,1}

  注意,冒泡排序的比较是从乱序元素中找最大元素排到倒数第一位、倒数第二位、倒数第三位,进而使数组由小到大排序
因此第一轮要比较四次

if(arr[0]>arr[1])arr[0]与arr[1]互换
if(arr[1]>arr[2])arr[1]与arr[2]互换
if(arr[2]>arr[3])arr[2]与arr[3]互换
if(arr[3]>arr[4])arr[3]与arr[4]互换

而从第二轮开始,此时的乱序元素就只有前四个元素了(最后一个元素是你从五个元素里挑出的最大元素,不需要再考虑了),因此你需要比较三次,找出倒数第二大的元素

if(arr[0]>arr[1])arr[0]与arr[1]互换
if(arr[1]>arr[2])arr[1]与arr[2]互换
if(arr[2]>arr[3])arr[2]与arr[3]互换

  找规律呀
第1轮比四次,我们用了4个if,
第2轮比三次,我们用了3个if,
第3轮比两次,我们将用2个if,
第4轮比一次,我们将用1个if,
使用for循环可以解决问题!外层for循环为轮数 内层for循环为次数,则代码如下

for (int i = 0; i < n - 1; i++)
{for (int j = 0; j < n - 1 - i; j++){if (result[j] > result[j + 1]){int temp = result[j];result[j] = result[j + 1];result[j + 1] = temp;}}
}

  常见疑惑:这俩for循环为什么一个是i<n-1 一个是j<n-1-i啊?
很难解释,你可以自己给n设个值,然后带入到这个for循环推一遍,慢慢理解吧

相关新闻

  • 2025-11-29 NestJS菜单模块CRUD接口开发指南(deepseek)
  • .NET+AI | MEAI | 上下文压缩(7)
  • 广州比较好的包车公司推荐排行榜单?包车品牌 包车公司 包车服务商 包车平台 包车渠道

最新新闻

  • 终极IT运维实战指南:LinkedIn技能评估完整题库解析
  • Microsoft Intune脚本开发指南:自定义脚本模板与最佳实践
  • 彻底解决!ExplorerPatcher优化Windows 10开始菜单响应速度的6大方案
  • 哪种眼油去黑眼圈效果好?亮眼去黑双在线,5款宝藏眼油分享 - 全网最美
  • 全能文档处理方案:clawPDF实战指南,让你的文件转换更高效
  • 2026成都自助机服务商推荐 定制需求专属榜 - 热点速览

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号