排序算法(二)—— 选择法排序算法
1、选择法排序简介
选择法排序算法是一种常用的排序算法,他的实现方法是遍历数组所有元素,找出最小的元素,将它与第一个元素交换;然后遍历剩下的元素,找出最小的元素并与第二个元素交换;接下来再遍历剩下的元素,找出最小的元素并与第三个元素交换;如此反复,知道数组末尾。
比如一个5个元素的数组5、3、1、2、4,使用选择法进行排序,排序步骤如下所示。
2、选择法代码示例
下面我们采用c语言编写一段代码来实现上面的5个数的排序,代码如下所示。
#include <stdio.h>void main()
{int i,j;int data[5]={5,3,1,2,4};int temp;int min;printf("Data: ");for(i=0;i<5;i++)printf("%d ",data[i]);printf("\n");for(i=0;i<5;i++){min = i; for(j=i+1;j<5;j++){ if(data[j]<data[min]){min=j;}}temp = data[i];data[i] = data[min];data[min] = temp;}printf("Final data: ");for(i=0;i<5;i++)printf("%d ",data[i]);printf("\n");}
编译代码并运行,结果如下所示。
Data: 5 3 1 2 4
Final data: 1 2 3 4 5
排序算法(二)—— 选择法排序算法相关推荐
- 排序算法之选择法排序(Java)
选择排序 时间复杂度 O(n*n) 不稳定的排序算法 思想是:每一趟从待排序的数据元素中选出最小的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完. 下面是关键部分代码: ...
- 排序算法之选择法排序(C/C++)
简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换:第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换:以此类推,第i趟在待排序 ...
- c语言求数组最大值最小值泡沫法,C语言选择法排序
#include int main() { int i, j, p, n, q; int a[] = {, , , , }; //对无序数组进行排序 for(i=; i { p = i; for(j= ...
- c语言折半查找法_C语言学习|选择法排序及折半查找法查找
数组名作为函数参数示意图 交换法排序,读者只要仔细研究一下这个算法就不难发现,其排序效率较低.因为在第i轮(i=0,1,2--,n-2)比较中,第i+1个数和后面所有的数都要进行一次比较,每进行一次比 ...
- 冒泡法和选择法 排序算法实现
@冒泡法和选择法 排序算法实现 void swap(int& a, int& b) {int temp=0;temp = a;a = b;b = temp; }void bubble_ ...
- 一年后再回头看系列之C/C++中的选择法排序、冒泡排序
文章目录 前言 一.两种排序算法的基本思想 二.具体步骤 1.引入库 2.生成随机数 三.具体代码 前言 转眼大二了,突然感觉比大一还要迷茫(也可能是因为数模竞赛,评优都没有搞好,明年暑假的智能车也一 ...
- PTA c语言 选择法排序过程
本题要求使用选择法排序,将给定的n个整数从小到大排序后输出,并输出排序过程中每一步的中间结果. 选择排序的算法步骤如下: 第0步:在未排序的n个数(a[0]〜 a[n−1])中找到最小数,将它与 a[ ...
- 微课|中学生可以这样学Python(例8.21):选择法排序
适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第8章 常用算法的Python实现 例8.21 选择法排序 京东购买链接:https://it ...
- 计算机中用函数排序,编写一个sort()函数,实现选择法排序,在主函数中输入10个整数,主函数调用sort()函数实现排序后将数据输出。...
编写一个sort()函数,实现选择法排序,在主函数中输入10个整数,主函数调用sort()函数实现排序后将数据输出. 重赏重赏 更新时间:2019-05-06 04:06 最满意答案 #include ...
最新文章
- 从PyTorch到ONNX的端到端AlexNet
- 一种清除windows通知区域“僵尸”图标的方案——Windows7系统解决方案
- Ajax 中XmlHttp 乱码 的解决方法 (UTF8,GB2312 编码 解码)
- String 对象内存分配策略
- table ADR6 引起的equipment download error
- c语言之判断电压最大值最小值,基于单片机的频率计的C语言源代码
- 织梦php远程连接数据库,用PHP连接Oracle for NT 远程数据库
- “平行驾驶”是无人车上路的安全高效智能途径!
- 36岁,程序员,为公司工作8年,昨天HR说公司不准备续约
- 怒江java培训班_怒江万词霸屏是什么意思
- C++实用编程——随机生成迷宫算法
- spnc币吧_CCIEC币-目前是CPUsolo独自开采。CPU服务器独自开采钱包上挖新币教程!...
- LNMP搭建HDwiki
- VMware vCenter Server 7.0安装配置
- 解决redis缓存穿透、redis缓存雪崩问题
- 仿真软件算法(MOM/FDTD/FEM/BEM/FDID)
- TI公司DSP集成开发环境(CCS)有哪几种工作模式?各自特点是什么?
- 双因素认证(2FA)
- Office Word 孤行控制
- ROHM 的 SiC 技术助力赛米控的 EMPack