C语言选择法排序

C语言选择法排序

#include<stdio.h>
int main()
{
	int m[]={15,65,45,87,56,98,87}, n, x, i, j;//定义变量 
	x=sizeof(m)/sizeof(int);	//得到数组的长度 
	
	for(i=0;i<(x-1);i++)		//选择法排序 (由大到小)
		for(j=i+1;j<=(x-1);j++){	//思路:1.m[0]一定放最大的:将m[0]与后面的数字一一比较 
			if(m[i]<m[j]){			//		  大的数放在m[0]上。 
				n=m[i];				//		2.m[1]放次大的: 将m[1]与后面数字一一比较,大的 
				m[i]=m[j];			//		  数字放在m[1]上,以此类推。 
				m[j]=n;				//		3.比较到m[i]时: 将m[i]与后面的数字一一比较,大的 
			}						//        m[i]上 ,结束后所有值顺序就排好了 
		}							//      4.参数确定:(1) for(i=0;i<(x-1);i++),有x个数,故 
	                                //		  				排出(x-1)个数就排序完毕。                        
	for(i=0;i<x;i++)				//					(2) for(j=i+1;j<=(x-1);j++),比较到m[i],需要 
		printf("%d  ", m[i]);		//						比较后面所有数,故从m[i+1]开始比较,直到结束 
	return 0;						//
}
发布了1 篇原创文章 · 获赞 1 · 访问量 23

猜你喜欢

转载自blog.csdn.net/redrosewhiterose/article/details/104237395