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

C#选择排序(Selection Sort)算法

选择排序(Selection Sort)原理介绍

选择排序(Selection Sort)是一种简单的排序算法,其实现原理如下:

  1. 遍历待排序数组,从第一个元素开始。

  2. 假设当前遍历的元素为最小值,将其索引保存为最小值索引(minIndex)。

  3. 在剩余的未排序部分中,找到比当前最小值还要小的元素,并更新最小值索引。

  4. 在遍历结束后,将找到的最小值与当前遍历位置的元素进行交换。

  5. 重复步骤2至4,直到排序完成。

C#代码实现

        /// <summary>/// 选择排序算法/// </summary>public static void SelectionSortAlgorithmMain(){int[] array = { 64, 25, 12, 22, 11, 99, 3, 100 };Console.WriteLine("原始数组: ");PrintArray(array);SelectionSortAlgorithm(array);Console.WriteLine("排序后的数组: ");PrintArray(array);}static void SelectionSortAlgorithm(int[] arr){int n = arr.Length;for (int i = 0; i < n - 1; i++){// 在未排序部分中找到最小元素的索引int minIndex = i;for (int j = i + 1; j < n; j++){if (arr[j] < arr[minIndex]){minIndex = j;}}// 将最小元素与未排序部分的第一个元素交换位置int temp = arr[minIndex];arr[minIndex] = arr[i];arr[i] = temp;}}static void PrintArray(int[] arr){int n = arr.Length;for (int i = 0; i < n; ++i){Console.Write(arr[i] + " ");}Console.WriteLine();}

图片

总结

选择排序算法的时间复杂度为O(n^2),其中n是待排序数组的大小。尽管其时间复杂度较高,但选择排序算法比较简单易懂,并且在某些特定情况下,例如对于小规模的数组来说,其性能可能表现得比其他高级排序算法要好。

http://www.lryc.cn/news/199387.html

相关文章:

  • 【Mysql】InnoDB数据页结构(五)
  • Golang中的type关键字
  • 网站管家机器人在为企业获客方面起什么作用?
  • 竞赛选题 深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv
  • 零基础学习HTML5
  • Jenkins 部署 Maven项目很慢怎么办?
  • 关于刷题时使用数组的小注意事项
  • 【MySQL】面试题
  • Pytorch训练深度强化学习时CPU内存占用一直在快速增加
  • git第一次推送出现推送被拒绝
  • CRC16计算FC(博途SCL语言)
  • setsockopt()函数的用法
  • 【AOP系列】6.缓存处理
  • 云函数cron-parser解析时区问题
  • Android11修改自动允许连接到建议的WLAN网络
  • 基于Qt HTTP应用程序项目案例
  • OpenGL —— 2.7、绘制多个自旋转的贴图正方体(附源码,glfw+glad)
  • linux之perf(8)annotate标注
  • 【广州华锐互动】VR建筑安全培训体验为建筑行业人才培养提供有力支持
  • 【Javascript保姆级教程】运算符
  • 图论与网络优化
  • 【论文复现】基于多模态深度学习方法的单细胞多组学数据聚类(【生物信息学】实验二:多组学数据融合:scMDC)
  • mysql按指定字符截取
  • 搜索引擎-在URL地址栏输入信息,不跳转
  • 10种新型网络安全威胁和攻击手法
  • Elasticsearch:painless script 语法基础和实战
  • 《数据结构、算法与应用C++语言描述》使用C++语言实现数组双端队列
  • TikTok Shop新结算政策:卖家选择权加强,电商市场蓄势待发
  • asp.net特色商品购物网站系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
  • 解决一则诡异的javascript函数不执行的问题