失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 每日C语言代码(The sixth day)——选择排序法

每日C语言代码(The sixth day)——选择排序法

时间:2018-10-10 08:04:29

相关推荐

每日C语言代码(The sixth day)——选择排序法

今天我们来讲讲选择排序法这个算法

题目:用选择排序法对n个整型数据进行从小到大的排序。

先上代码。

#include <stdio.h>#define n 10void main(){int r[10];int i,j,t;printf("Please input datas:\n");for(j=0;j<n;j++)scanf("%d",&r[j]);for(i=0;i<n-1;i++){for(j=i+1;j<n;j++)if(r[i]>r[j]){t=r[i];r[i]=r[j];r[j]=t;}}for(i=0;i<n;i++)printf("%5d",r[i]);}

选择排序法主要就是以下这一串核心代码

for(i=0;i<n-1;i++) //这是第一层循环

{

for(j=i+1;j<n;j++) //这是第二层循环

if(r[i]>r[j])

{

t=r[i];r[i]=r[j];r[j]=t;

}

}

这个算法的分析是这样的:第一依次排序将n个元素中的最小值一到数组的第一个元素位置,第二次排序将剩下n-1个元素中的最小值一到数组的第二个元素,位置以此类推,经过n-1次排序,全部排好。(还是需要自己去仔细看,我只能提供代码和整体思路)

两层循环的作用就是将第i个数与i后面的进行比较如果符合if条件表达式的条件的话就交换,实现代码的作用。

在这里提醒大家,一定要多看算法,这样处理就不会慌,考试加油!!!

多多重复,百炼成钢!!!

如果觉得《每日C语言代码(The sixth day)——选择排序法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。