选择排序思想:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

//选择排序
void select_sort(int* a, int n)
{int min;int i, j;for (i = 0; i < n; i++){min = i;for (j = i + 1; j < n; j++){if (a[j] < a[min])min = j;}if (min != i){swap(a, i, min);}}
}int main()
{int arr[] = { 4, 6, 5, 8, 9, 3, 2, 1, 7 };int size = sizeof(arr) / sizeof(int);select_sort(arr, size);for (int i = 0; i < size; i++){cout << arr[i] << " ";}cout << endl;return 0;
}

转载于:https://www.cnblogs.com/single-dont/p/11322712.html

排序算法之——选择排序相关推荐

  1. 排序---初级排序算法(选择排序、插入排序和希尔排序)

    写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera  Algorithms Part1&2 本文 ...

  2. 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试

    案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...

  3. 排序算法 | 直接选择排序,算法的图解、实现、复杂度和稳定性分析

    排序算法 | 直接选择排序,算法的图解.实现.复杂度和稳定性分析 目录 1.直接选择排序的原理 2.图解直接选择排序 3.算法代码实现 4.算法复杂度分析.稳定性分析 直接选择排序 1.直接选择排序的 ...

  4. 堆排序算法c语言筛选法,【排序】排序算法之选择排序

    排序算法之选择排序 罗朝辉(http://www.cppblog.com/kesalin) 转载请注明出处 排序是数据处理中经常使用的一种重要运算,在计算机及其应用系统中,花费在排序上的时间在系统运行 ...

  5. 【排序算法】选择排序(Selection sort)

    选择排序(Selection sort)是一种简单直观的排序算法. 选择排序介绍 它的基本思想是: 首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置:接着,再从剩余未排序的元 ...

  6. 排序算法(3)选择排序

    排序算法(3)选择排序 原理:思想:两个变种(1)单侧选择:在一个无序数组中选择出每一轮中最大值(或最小值)元素,放到最前面或最后面(升序)(2)双向选择:在一个无序数组中选择出每一轮中最值元素,然后 ...

  7. Java经典排序算法:选择排序,动图演示排序过程

    Java经典排序算法:选择排序,动图演示排序过程 示意动图: public class Main {public static void main(String[] args) {new Main() ...

  8. 【排序算法】选择排序(C语言)

    [排序算法]-- 选择排序 目录 一.选择排序的原理 二.选择排序的代码实现 三.选择排序的优化 1. 优化思路 2. 排序优化后问题 3. 优化代码的实现 四.选择排序的效率 一.选择排序的原理 ​ ...

  9. 选择排序算法流程图_常用排序算法之选择排序

    前两天给大家分享了冒泡排序和插入排序(没关注的同学,可以关注后查看历史消息),今天继续给大家分享另一种常用的排序算法--选择排序. 选择排序 选择排序和插入排序很相似,也区分已排序区间和未排序区间,选 ...

  10. 排序算法之选择排序(简单选择排序、堆排序)

    选择排序(简单选择排序.堆排序) 选择排序 简单选择排序 概念 算法实现 堆排序 概念 算法实现 后续 选择排序 选择排序的基本思想是:每一趟在待排序元素中选取关键字最小(或最大)的元素加入有序子序列 ...

最新文章

  1. 【优秀作业】粒子群算法(Python)
  2. [Scoi2016]背单词[字典树+dfs重构树[类似虚树]]
  3. 第3关:4位快速加法器设计
  4. xor eax,eax
  5. 零基础python必背代码-零基础入门学习python 96集全
  6. fast_recovery_area无剩余空间(ORA-19815)
  7. 补习系列(14)-springboot redis 整合-数据读写
  8. VINS_MONO+D435i Realtime运行
  9. 线性代数【八】二次型
  10. VC6 程序 在VS2019或其他高版本上编译运行
  11. 基于SSM的在线电影购票系统【源码开源】
  12. java遍历map集合_Java 遍历Map集合
  13. 瑞星杀毒软件网络版2012支持Web日志访问
  14. em表示什么长度单位_CSS的长度单位(em)与em标签
  15. 电脑蓝屏记录(RESOURCE_NOT_OWNED)
  16. 服务器中修改数据库配置,服务器修改数据库配置未生效
  17. python爬虫(20)获取酷我音乐排行榜榜单作品
  18. 携程 Apollo 配置中心 | 学习笔记(七) | 如何将配置文件敏感信息加密?
  19. jar包打补丁 jar -uf_Java加密jar包流程
  20. 无法与域“xxxx.com”的Active Directory域控制器(AD DC)连接 之DNS故障

热门文章

  1. mysql数据被截断_有关Mysql数据截断问题的处理方法
  2. 工厂模式例子之计算器的实现
  3. 计算机考研:计算机操作系统知识点复习
  4. JAVASE内测试题
  5. ZooKeeper命令、命令行工具及简单操作
  6. python函数(二)
  7. spring mvc 模拟数据库实现注册 登录
  8. malloc申请得到的内存后,再free释放它的时候,操作系统会立即收回那块内存吗?
  9. Json Schema快速入门
  10. 2017腾讯编程题----素数对