算法排序

个人说明:排序的算法有许多种,该博客只是列举了部分常用的排序方式,以供参考。程序使用语言为C语言。

2.选择排序法

  • 基本思想
    1.在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
    2.然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
  • 图解
  • 代码实现
#include<stdio.h>int main(){int a[]={1,54,6,3,78,34,12,45};int min,n=sizeof(a)/sizeof(int);//选择排序法for (int i = 0; i < n-1; i++) {min=i;for (int j = i+1; j < n; j++) {if(a[j]<a[min]) {min=j;}}if(min!=i){int temp=a[min];a[min]=a[i];a[i]=temp;}}for(i=0;i<n;i++){printf("%d ",*(a+i));}printf("\n",*(a+i));return 0;
}
  • 参考博客

https://blog.csdn.net/without0815/article/details/7697916

C程序设计--排序(冒泡、选择、插入)--选择相关推荐

  1. 【数据结构与算法】排序 冒泡、插入、选择 O(n^2)

    冒泡.插入.选择 O(n2) 基于比较 快排.归并 O(nlogn) 基于比较 计数.基数.桶 O(n) 不基于比较 一.如何分析一个排序算法? 学习排序算法的思路?明确原理.掌握实现以及分析性能. ...

  2. java排序算法(冒泡,插入,选择,快速,堆,归并,希尔,基数)

    import java.util.Arrays; import java.util.LinkedList;/*** * * 各种排序: 冒泡,插入,选择,快速,堆,归并,希尔,基数*/ public ...

  3. 八大排序算法:插入(2:插入、希尔)、选择(2:选择、堆)、交换(2:冒泡、快速)、归并、基数

    八大排序算法 发表于2012/7/23 16:45:18  662397人阅读 分类: c/c++ 数据结构与算法 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排 ...

  4. php冒泡 插入选择 排序,说说PHP数组的三种排序(冒泡/选择/插入)方法

    说说PHP数组的三种排序(冒泡/选择/插入)方法 PHP #数组 #排序 #冒泡 #选择 #插入2012-05-30 10:17 一.冒泡排序法 说明:找到最大的数,排列到最后面,然后继续找 例: $ ...

  5. python简单选择排序_Python实现冒泡,插入,选择排序简单实例

    本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下: # -*- coding: cp936 -*-#python ...

  6. 数据结构最常用的排序算法一(冒泡、插入、选择)-Java实现

    冒泡排序 核心思想:冒泡排序只会比较相邻的两个数,相邻的两个数满足大小条件时不移动,不满足大小条件时交换位置,然后指针后移一位,直到指针到达未排序的序列的倒数第二个位置,再进行下一轮排序.冒泡排序每一 ...

  7. 排序算法(01)— 三种简单排序(冒泡、插入、选择)

    一.概述 排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,毕竟每种语言的类库中都有n多种关于排序算法的实现.但是了解这些精妙的思想对我们还是大有裨益的. 1.1 排 ...

  8. C语言中数组的排序算法详解——选择法、冒泡法、交换法、插入法、折半法

    选择法排序 选择法排序是指:如果要把一个数组从小到大排列,那么就从该数组中依次选择最小的数字来排序.从第一个数字开始,将第一个数字与数组中剩下数字中最小的那一个交换位置,然后将第二个数字与剩下数字中最 ...

  9. c语言排序算法插入法,C语言中冒泡法、选择法、插入法三种常见排序算法分析.doc...

    C语言中冒泡法.选择法.插入法三种常见排序算法分析.doc 一.冒泡法(起泡法) 算法要求用起泡法对10个整数按升序排序. 算法分析如果有n个数,则要进行n-1趟比较.在第1趟比较中要进行n-1次相邻 ...

  10. C++数据结构和算法2 栈 双端/队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划

    C++数据结构和算法2 栈 双端/队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划 博文末尾支持二维码赞赏哦 _ github 章3 Stack栈 和 队列Queue= ...

最新文章

  1. 三分钟基础:什么是拥塞控制?
  2. mysql索引数据结构图解_深入理解Mysql索引底层数据结构与算法
  3. 过来人讲述:研究生复试之注意事项
  4. 复旦大学女教授告诉你:朋友是什么?
  5. iPhone 11降至3000元档,一顿降价猛如虎!
  6. Xml的编码和Bom
  7. 提取字符串中字母数字方法
  8. 去掉IE上的 单击以激活和使用此控件 提示
  9. 《2018中国AI计算力发展报告》发布!北京算力仅排第二
  10. 大数据分析为啥越来越重要
  11. Java 获取日期间的日期 根据日期获取星期
  12. VSCode : vscode-remote下无法写入文件及linux文件读写权限
  13. 计算机不显示固态硬盘,电脑重启后读不到固态硬盘怎么办
  14. XBee/XBee-Pro ® ZigBee 模块
  15. Flutter开发之——Card
  16. 各种电平标准的讨论(TTL,ECL,PECL,LVDS、CMOS、CML.......)
  17. Latex快速制表工具
  18. ubuntu LuCI
  19. ZYNQ 7020 FIFO讲解。
  20. 2022-2028年全球与中国工业分析软件市场现状及未来发展趋势分析报告

热门文章

  1. ARM介绍1:发展史
  2. Unity UGUI优化:解决EventSystem耗时过长的问题 第一部分
  3. c语言一行灯的熄灯问题,熄灯问题
  4. 学生的认知风格类型有哪些_《认知天性》读书笔记
  5. idea项目中的idea文件如何隐藏,以及不小心隐藏之后如何显示idea文件夹
  6. python 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址_[LeetCode] 468. 验证IP地址
  7. 矩阵连乘备忘录算法java_矩阵连乘(备忘录方法:自顶向下递归)
  8. python求商和余数 考虑可能出现的异常情况_python面试题
  9. 改写反话技巧_2021考研唐迟阅读技巧总结
  10. 【转】IDEA类和方法注释模板设置(非常详细)