news 2026/7/30 0:19:16

Visual Studio中的冒泡排序和选择排序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Visual Studio中的冒泡排序和选择排序

目录

一、冒泡排序

1.介绍

2.使用模板

3.示例

4.注意事项

二、选择排序

1.介绍

2.使用模板

3.示例

4.注意事项

三、两者对比

四、总结


一、冒泡排序

1.介绍

冒泡排序是一种简单的排序算法,通过相邻元素的比较与交换将最大(或最小)的元素逐步“冒泡”到数组的末端。重复此过程直到整个数组有序。

2.使用模板

3.示例

对数组[3, 1, 4, 1, 5]进行冒泡排序:

  1. 第1轮:比较相邻元素,交换31[1, 3, 1, 4, 5]
  2. 第2轮:交换31[1, 1, 3, 4, 5]
  3. 第3轮:无交换,提前退出。

4.注意事项

  • 优化标志:添加swapped标志可避免不必要的循环,提升效率。
  • 数组越界:内循环条件需为j < n - 1 - i,避免访问array[j+1]时越界。
  • 稳定性:冒泡排序是稳定排序(相同元素相对位置不变)。

二、选择排序

1.介绍

选择排序通过每次从未排序部分选择最小(或最大)元素,将其放到已排序部分的末尾。重复此过程直到整个数组有序。

2.使用模板

3.示例

对数组[3, 1, 4, 1, 5]进行选择排序:

  1. 第1轮:找到最小元素1(索引1),交换到位置0 →[1, 3, 4, 1, 5]
  2. 第2轮:找到最小元素1(索引3),交换到位置1 →[1, 1, 4, 3, 5]
  3. 第3轮:找到最小元素3(索引3),交换到位置2 →[1, 1, 3, 4, 5]

4.注意事项

  • 交换次数少:选择排序交换次数固定为n-1次,优于冒泡排序。
  • 不稳定性:选择排序是不稳定排序(相同元素可能交换位置,例如[2, 2, 1]排序后变为[1, 2, 2],但原顺序可能改变)。
  • 性能:时间复杂度始终为O(n²),无优化空间。

三、两者对比

对比维度冒泡排序选择排序
时间复杂度平均/最坏O(n²),最好O(n)(优化后)始终O(n²)
空间复杂度O(1)(原地排序)O(1)(原地排序)
稳定性稳定不稳定
交换次数最多n(n-1)/2固定n-1
适用场景数据基本有序时效率高数据规模小且交换成本高的场景
算法思想相邻元素比较交换选择最小元素交换到指定位置

四、总结

  • 冒泡排序:适合数据基本有序的场景,通过优化可减少不必要的比较。
  • 选择排序:交换次数少,适合元素交换成本较高的情况(如大型对象排序)。
  • 性能对比:在随机数据下,两者效率相近,但选择排序通常更快(交换次数少)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 14:51:29

广义回归神经网络和概率神经网络分类(GRNN Vs PNN)附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码获取及仿真…

作者头像 李华
网站建设 2026/7/29 19:51:39

上海AI实验室发布Chem-R:让AI像化学家一样思考的革命性突破

当人工智能遇到化学实验室&#xff0c;会碰撞出怎样的火花&#xff1f;上海AI实验室的研究团队最近发布了一项令人兴奋的研究成果&#xff0c;他们开发出了一个名为Chem-R的AI模型&#xff0c;这个模型能够像真正的化学家一样进行化学推理。这项研究由上海AI实验室联合复旦大学…

作者头像 李华
网站建设 2026/7/29 18:25:14

Vue时间轴组件完整指南:从零开始构建精美时间线

Vue时间轴组件完整指南&#xff1a;从零开始构建精美时间线 【免费下载链接】timeline-vuejs Minimalist Timeline ⏳ with VueJS &#x1f49a; 项目地址: https://gitcode.com/gh_mirrors/ti/timeline-vuejs timeline-vuejs是一款专为Vue.js设计的轻量级时间轴组件&am…

作者头像 李华
网站建设 2026/7/30 7:47:23

Wan2.2-T2V-A14B支持多语言文本生成视频?实测效果曝光

Wan2.2-T2V-A14B支持多语言文本生成视频&#xff1f;实测效果曝光 在短视频内容爆炸式增长的今天&#xff0c;一个品牌要维持社交媒体热度&#xff0c;可能需要每天产出数十条定制化视频&#xff1b;一部电影的前期预演&#xff0c;往往得靠美术团队手绘上百张分镜。这些传统流…

作者头像 李华
网站建设 2026/7/29 18:13:22

HunyuanVideo-Foley项目在GitHub上的diskinfo下载官网数据统计分析

HunyuanVideo-Foley 项目 GitHub 下载行为与智能音效生成技术深度解析 在短视频日活突破十亿、AIGC 内容生产链高速演进的今天&#xff0c;一个看似不起眼却极具潜力的技术方向正在悄然崛起——自动音效生成。无论是 UP 主剪辑 Vlog 时为脚步声补上合适的“哒哒”回响&#xff…

作者头像 李华
网站建设 2026/7/29 11:56:30

贪心算法:用局部最优解迈向全局最优的艺术

贪心算法&#xff1a;用局部最优解迈向全局最优的艺术什么是贪心算法&#xff1f;贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取在当前状态下最好或最优的选择&#xff0c;从而希望导致结果是全局最好或最优的算法策略。它不像动态规划那样考虑…

作者头像 李华