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

c语言选择排序教程,选择排序法(C语言)

基本思路

在每一次的排序中选出最小(或最大)的数,将其放在数组最前端,然后在后面的数中重复此步骤,最终达到排序的目的.

算法描述

将存于数组首位数与后面的数依次比较,将其中的较小的数放到数组放到数组首位

将除存于第二位的数视作首位,重复第一步的操作

以此类推

代码实现

这里以从小到大排序为例

# include

void swap(int *p, int *q)

{

int temp;

temp = *p;

*p = *q;

*q = temp;

}

int main()

{

int i, j, n, t;

int a[100];

scanf("%d", &n);//输入要排序的数组元素个数

getchar();

for(i=0;i

scanf("%d", &a[i]);//遍历数组

for(i=0;i

{

int min=i;

for(j=i+1;j

if(a[j]

min=j;

if(min != i)//如果最小的数不是首位,则交换

swap(&a[min],&a[i]);

}

for(i=0;i

printf("%d ", a[i]);

}

算法分析

选择排序是不稳定的,如:5 8 5 2这个数列,当第一个"5"与"2"和交换后,第一个"5"就到了第二个"5"后面

相关文章:

  • 已知特征值求特征向量c语言,C++ Eigen库计算矩阵特征值及特征向量
  • 数据库设计范式深入浅出
  • 数据库设计三大范式应用实例剖析
  • c语言 已知三位数数列,C语言程序设计100例之(23):数列求和
  • android 实现qq动画,Android实现仿QQ登录界面背景动画效果
  • “磁碟机”病毒详尽分析报告
  • android自动无限轮播,Android安卓比较完美的无限自动轮播
  • 端点安全:为何只有检测率远远不够
  • android 添加json动画,Lottie 站在巨人的肩膀上实现 Android 酷炫动画效果
  • android 找不到布局id,为什么给layout加上id,ButterKnife就找不到资源了?
  • 安装BizTalk Server 2006出现BizTalk架构编辑器同类型化DataSet设计器冲突
  • android 路由表参数,Android点我达路由DRouter框架设计与解析
  • WEB2.0下的门户网站建设
  • android https 证书过期变更,使用自定义证书的Android https连接
  • android7彩蛋oppo,OPPO ColorOS 7来了!没想到重磅消息却是“彩蛋”Reno3系列?
  • 【Leetcode】101. 对称二叉树
  • 「译」Node.js Streams 基础
  • 〔开发系列〕一次关于小程序开发的深度总结
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • javascript数组去重/查找/插入/删除
  • Laravel5.4 Queues队列学习
  • leetcode386. Lexicographical Numbers
  • Objective-C 中关联引用的概念
  • Vue组件定义
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 深入浅出Node.js
  • 使用common-codec进行md5加密
  • 我的业余项目总结
  • AI算硅基生命吗,为什么?
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 选择阿里云数据库HBase版十大理由
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​520就是要宠粉,你的心头书我买单
  • ​Java并发新构件之Exchanger
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # 数据结构
  • #前后端分离# 头条发布系统
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (1)常见O(n^2)排序算法解析
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C语言)共用体union的用法举例
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (第27天)Oracle 数据泵转换分区表
  • (二)springcloud实战之config配置中心
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 8.0 发布到 IIS
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET文档生成工具ADB使用图文教程
  • :中兴通讯为何成功
  • @取消转义