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

算法之选择排序算法

思路:

  选择排序每次迭代都在寻找剩下的数组元素中的最小值(最大值),依次拿数组中的一个元素和剩下的元素进行比较。然后把该极值移动到数组的另一边。

原始数组: 5  9  4  6  7  3  2 

一次迭代: 2  9  4  6  7  3  5

               2  3  4  6  7  9  5

      2  3  4  6  7  9  5

      2  3  4  5  7  9  6

      2  3  4  5  6  9  7

      2  3  4  5  6  7  9

 

template< class T >
void selectSort( T Data[], int iLength )
{
    for( int i = 0; i < iLength; i++ )
    {
        int iMinIndex = i;
        for (int n= i + 1; n< iLength; n++)
        {
            if( Data[n] < Data[iMinIndex] )
            {
                iMinIndex = n; //记录当前最小值的索引
            }
        }
        swap( Data[iMinIndex], Data[i]);  //移送极值
    }    
    
}

  

 

     

     

转载于:https://www.cnblogs.com/MrZhang1/p/6921438.html

相关文章:

  • 我会采更多的雏菊
  • c语言中字符串函数的使用
  • 利用jquery编写加法运算验证码
  • 更改计算机名称,影响TFS之前映射的工作区 使用。
  • mysql/Java服务端对emoji的支持
  • 教你如何安装 Android L
  • 创意歌曲:我是一段死代码
  • Elasticsearch 中文搜索搭建
  • 潜伏 11 年之久,Linux 惊现高危内核漏洞 Phoenix Talon
  • 权当开篇——Linux学习之路(一)
  • ReSharper Ultimate 2017 下载地址及破解方法
  • 洪水
  • 记一次ubuntu下通过grub引导win7 双系统
  • WebApi 接口参数不再困惑:传参详解
  • Sublime编译器快捷键大全
  • [译] React v16.8: 含有Hooks的版本
  • 【面试系列】之二:关于js原型
  • Angular Elements 及其运作原理
  • Angular6错误 Service: No provider for Renderer2
  • canvas 高仿 Apple Watch 表盘
  • HTTP中GET与POST的区别 99%的错误认识
  • HTTP中的ETag在移动客户端的应用
  • PAT A1092
  • scrapy学习之路4(itemloder的使用)
  • Vue全家桶实现一个Web App
  • zookeeper系列(七)实战分布式命名服务
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 百度小程序遇到的问题
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 汉诺塔算法
  • 区块链分支循环
  • 手机端车牌号码键盘的vue组件
  • 写给高年级小学生看的《Bash 指南》
  • C# - 为值类型重定义相等性
  • !!java web学习笔记(一到五)
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (007)XHTML文档之标题——h1~h6
  • (1)SpringCloud 整合Python
  • (4)Elastix图像配准:3D图像
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (层次遍历)104. 二叉树的最大深度
  • (分布式缓存)Redis持久化
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (转)3D模板阴影原理
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET 服务 ServiceController
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .so文件(linux系统)
  • ?.的用法