news 2026/8/28 12:15:45

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/8/28 15:43:51

高性能LLM新星:gpt-oss-20b在专业领域任务中的表现

高性能LLM新星&#xff1a;gpt-oss-20b在专业领域任务中的表现 在企业级AI应用日益普及的今天&#xff0c;一个现实问题正困扰着许多技术团队&#xff1a;如何在不牺牲性能的前提下&#xff0c;让大语言模型真正“落地”到本地系统中&#xff1f;公有云API虽强大&#xff0c;但…

作者头像 李华
网站建设 2026/8/28 5:18:20

5分钟精通!ncmdump完整NCM音乐解码实战手册

还在为网易云音乐NCM加密格式无法在其他设备播放而烦恼吗&#xff1f;想要将心爱的歌曲自由导入MP3播放器却受限于格式限制&#xff1f;今天带来的ncmdump工具正是你的救星&#xff01;这款专为NCM格式设计的音乐解码神器&#xff0c;能够快速将受保护的NCM文件转换为通用音频格…

作者头像 李华
网站建设 2026/8/27 22:45:57

ReasonRAG:仅用5k数据超越90k训练的SOTA模型,大模型RAG训练新范式

ReasonRAG是由港城大与华为诺亚方舟实验室提出的基于过程监督的Agentic RAG训练框架&#xff0c;通过SPRE设计过程级奖励&#xff0c;结合MCTS探索高质量推理路径&#xff0c;构建了首个过程监督数据集RAG-ProGuide。该方法仅需5k训练数据就在多个评测集上超越了需90k数据的SOT…

作者头像 李华
网站建设 2026/8/27 10:06:28

微信小程序表格组件技术解析与工程实践

在微信小程序开发中&#xff0c;数据表格作为信息展示的核心组件&#xff0c;其实现质量直接影响用户体验。传统方案往往面临样式定制困难、性能瓶颈和兼容性问题等挑战。本文将从技术架构、性能对比和实际应用三个维度&#xff0c;深入剖析miniprogram-table-component组件的设…

作者头像 李华
网站建设 2026/8/28 1:44:31

npm安装Vue前端可视化Qwen-Image调用界面教程

npm安装Vue前端可视化Qwen-Image调用界面教程 在创意设计与数字内容生产日益依赖AI的今天&#xff0c;如何让非技术人员也能轻松使用强大的文生图模型&#xff1f;这不仅是技术问题&#xff0c;更是产品体验和工程落地的关键挑战。Qwen-Image作为通义实验室推出的200亿参数级文…

作者头像 李华