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; //
}