排序算法之选择排序【C语言】
2023-09-11 14:18:53 时间
#include<stdio.h>
#define N 5 //宏定义需要排列的数组的个数
int main(void){
int i,j,x,t,min; //min临时存储最小值
int a[N];
printf("please enter %d numbers:\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
//选择法排序
for(j=0;j<N;j++){ //外层循环
min=a[j]; //先设数列第j号为最小值,方便下列替换
for(i=j+1;i<N;i++){ //取出本次循环中的最小数
if(min>a[i]){
t=a[i];
a[i]=min;
min=t;
}
}
a[j]=min; //将取出的最小数放在数列第J号
}
for(i=0;i<N;i++) //排序输出部分
printf("%d,",a[i]);
return 0;
}
选择排序的思想就是每次从剩下的数中选一个最大/最小的数,排在剩下的数中的最后或者/最前,
比如对6 ,5 ,3 ,9进行选择排序,第一轮先找出这个4个数中的最小值(为3),放在最后一个位置(即和9交换位置);然后从剩下的3个数中(6 ,5 ,9)中找一个最小的(为5),放在倒数第二个,以此类推。最后就会得到排好序的:9 6 5 3.
相关文章
- C语言之基本算法26—佩尔方程求解
- C语言中的字符串
- C语言:Message类
- C语言的5种存储类以及关键字volatile、restrict
- 【创】数据结构与算法——链表byC语言【MOOC】
- C语言结构联合位字段知识体系总结大学霸IT达人
- C语言函数知识体系大学霸IT达人
- 《嵌入式Linux与物联网软件开发——C语言内核深度解析》一第2章 C语言位操作2.1 引言
- 【C语言】动态内存面试题(一)
- 基于C语言处理机调度算法的实现【100010769】
- 《数据结构与算法 C语言版》—— 1.2数据结构的发展概况
- 《数据结构与算法 C语言版》—— 1.4数据类型与抽象数据类型
- 《数据结构与算法 C语言版》—— 2.6小结
- 《数据结构与算法 C语言版》—— 3.1栈
- 《数据结构与算法 C语言版》—— 3.4队列
- 《数据结构与算法 C语言版》—— 3.8习题
- C语言-函数指针-快速排序算法
- 【嵌入式项目应用】__单片机ADC,常用的C语言滤波算法
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 编程语言“C语言”占据榜首,但大数据 类是最大赢家