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

【数据结构】直接选择排序详解!

文章目录

      • 1.直接选择排序

1.直接选择排序

  • 🐧 begin 有可能就是 maxi ,所以交换的时候,要及时更新 maxi
    在这里插入图片描述

在这里插入图片描述


  • 🍎 直接选择排序是不稳定的,例如: 9 [9] 5 [5],排序后,因为直接选择排序是会交换数据的,排序后可能变成了 [5] 5 [9] 9
// 直接选择排序
// 时间复杂度: O(n^2)
void SelectSort(int* a, int n)
{int begin = 0, end = n - 1;while (begin < end){int mini = begin, maxi = begin;for (int i = begin; i <= end; i++){if (a[i] < a[mini])mini = i;if (a[i] > a[maxi])maxi = i;}Swap(&a[begin], &a[mini]);// 此时的 maxi 有可能已经改变if (begin == maxi)maxi = mini;Swap(&a[end], &a[maxi]);begin++, end--;}
}
http://www.lryc.cn/news/356928.html

相关文章:

  • vue3中的toRaw API
  • 接口响应断言-json
  • 全面盘点多模态融合算法及应用场景
  • 超分论文走读
  • Android ViewPager2 + FragmentStateAdapter 的使用以及问题
  • FPGA中的乒乓操作
  • gnocchi学习小结
  • 【机器学习】Pandas中to_pickle()函数的介绍与机器学习中的应用
  • lightning的hook顺序
  • 【ARFoundation自学03】AR Point Cloud 点云(参考点标记)功能详解
  • x264 码率控制中实现 VBV 算法源码分析
  • 宝兰德入选“鑫智奖·2024金融数据智能运维创新优秀解决方案”榜单
  • Unity3D雨雪粒子特效(Particle System)
  • 记录使用自定义编辑器做试题识别功能
  • MySQL索引和视图
  • Java单元测试Mock的用法,关于接口测试的用例
  • 《心理学报》文本分析技术最新进展总结盘点
  • json格式文件备份redis数据库 工具
  • JAVA系列:NIO
  • 偏微分方程算法之抛物型方程差分格式编程示例二
  • linux 查看 线程名, 线程数
  • python class __getattr__ 与 __getattribute__ 的区别
  • [ C++ ] 类和对象( 下 )
  • 这么多不同接口的固态硬盘,你选对了嘛!
  • 使用IDEA远程debug调试
  • 开源自定义表单系统源码 一键生成表单工具 可自由DIY表单模型+二开
  • 【java10】集合中新增copyof创建只读集合
  • python小甲鱼作业001-3讲
  • 做电商,错过了2020年的抖音!那2024一定要选择视频号小店!
  • 赛氪网与武汉外语外事职业学院签署校企合作,共创职业教育新篇章