排序算法之选择排序【C语言】

导读:本篇文章讲解 排序算法之选择排序【C语言】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

#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语言】

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82685.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!