题目:

对10个数进行排序(1)-直接选择排序

程序分析

  1. 直接选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n^2)的时间复杂度,所以一般用在数据规模较小的时候,这个算法唯一的优点就是不占用额外的内存空间

  2. 算法步骤:

    首先在未排序序列中找到最大(最小)元素,存放到排序序列的起始位置

    再从剩余的未排序的元素中继续寻找最大(最小)元素,然后放到已排序的序列的末尾

    重复第二步,直至所有元素均排序完毕

主要代码

void selection_sort(int a[],int len){int i,j;for(i=0;i<len-1;i++){int min=i;for(j=i+1;j<len;j++){if(a[min]>a[j]){min=j;}swap(&a[min],&a[i]);}}
}
void swap(int *a,int *b){int t=*a;*a=*b;*b=t;
}

今日巩固

  1. 对直接选择排序算法有了更进一步的了解
  2. 如果想要获取函数的返回值,在C语言中写函数的时候参数就要带*,在调用函数的时候参数带&

每日程序C语言26-直接选择排序相关推荐

  1. 每日程序C语言3-三个数大小排序

    每日程序C语言 题目 输入三个数,按照从小到大的顺序输出 算法分析 在三个数中找出最小的数 比较剩下两个数的大小 依次输出 代码 void sort(int x,int y,int z){if(x&g ...

  2. 每日程序C语言48-字符串排序

    题目: 字符串排序 程序分析 使用二维数组来实现 主要代码 main.c int main(void){int i,j,index;char str[5][80],p[80]; printf(&quo ...

  3. c语言选择排序法程序设计,C语言基础之选择排序算法和代码

    在利用C语言进行编写程序的过程中,我们会常常通过算法及其代码来进行相关程序的编写工作.今天课课家笔者先给大家介绍C语言算法中的选择排序算法以及代码.那么到底什么是选择排序算法呢?下面由笔者慢慢道来. ...

  4. C语言Selection Sort选择排序的算法(附完整源码)

    C语言Selection Sort选择排序的算法 C语言Selection Sort选择排序的算法完整源码(定义,实现) C语言Selection Sort选择排序的算法完整源码(定义,实现) #if ...

  5. 每日程序C语言5-斐波那契兔子数

    每日程序C语言 题目 古典问题,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少? 算法分析 兔子的对数符合斐波那契数列 斐 ...

  6. 每日程序C语言2-判断某日期是这一年的第几天

    每日程序C语言 题目: 输入某年某月某日,判断这一天是这一年的第几天? 程序分析: 闰年和平年的算法,用二维数组来存储月份和天数 核心代码 void fun(int year,int month,in ...

  7. C语言冒泡法和选择排序法

    C语言冒泡法和选择排序法 1.冒泡法代码 #include<stdio.h> int main() {int a[3];int p,i,tmp;for(i=0;i<3;i++)sca ...

  8. 【C语言冒泡排序、选择排序和快速排序】

    文章目录 前言 一.冒泡排序 二.选择排序 三. 快速排序 四.代码设计与实现 代码设计 代码实现 调试结果 冒泡排序改良 延伸思考 总结 前言 本文简单介绍了C语言的冒泡排序.选择排序.快速排序,结 ...

  9. c语言折半排序的程序,C语言实现九大排序算法的实例代码

    直接插入排序 将数组分为两个部分,一个是有序部分,一个是无序部分.从无序部分中依次取出元素插入到有序部分中.过程就是遍历有序部分,实现起来比较简单. #include void insertion_s ...

最新文章

  1. 现代神经网络要这么用才能创造智能
  2. 多平台引擎使游戏业步入创作繁荣时代
  3. UVA524 PrimeRingProblem素数环
  4. linux usb xhci ehci,ehci和xhci有什么区别
  5. 过去式加ed的发音_小学英语动词过去式归类总结
  6. ssm如何支持热部署_Pipedrive如何在每天部署50+次的情况下支持质量发布?
  7. 如何生成全局唯一标识
  8. 从未来所思考到的事情
  9. 揭秘Product Hunt怎样运用邮件崛起
  10. 《JavaScript高级程序设计2》学习笔记——Ajax与JSON
  11. BOOST库介绍(三)——网络编程相关的库
  12. Julia: find 和其它
  13. [91ri]渗透用的Python小脚本
  14. 组策略设置计算机计划任务,使用组策略配置域中任务计划
  15. 爬取全国12个热门城市奶茶店铺情况,看看你的城市哪个品牌最多
  16. 智能车辆纵向速度跟踪与控制方法研究
  17. Linux安全端口关闭,Linux系统防火墙关闭及端口开放
  18. 【Verilog】时序逻辑电路 -- 程序设计与应用
  19. 【最终幻想15 国王之剑】制作介绍1:不再是游戏动画,而是“电影”制作
  20. PS人物头发抠取教程 PS照片换背景方法

热门文章

  1. php is_post,PHP发送get、post请求的6种方法简明总结
  2. 阿里云 AI 编辑部获 CCBN 创新奖,揭秘传媒行业解决方案背后的黑科技
  3. 阿里开源量子模拟器“太章2.0”,支持量子算法和纠错探索
  4. Serverless化微服务架构实战
  5. 连续 3 年最受欢迎:Rust,香!
  6. 阿里凑单算法首次公开!打包购商品挖掘系统解析
  7. 如何扛住1.8亿/秒的双11数据洪峰?阿里流计算技术全揭秘
  8. php转java知乎_做了三年多的php,在上一家公司转java一年多,如何找工作
  9. 安全开发之碰撞检测与伤害计算逻辑
  10. Unity自定义角色控制器(一):碰撞检测