选择法

#include <stdio.h>
#define N 1000
int main()
{
void f1(int a[],int n);
int a[N],i,m;
printf("please input the length:");
scanf("%d\n",&m);
for(i=0; i<m; i++)
scanf("%d",&a[i]);

f1(a,m);
printf("the num is:");
for(i=0; i<m; i++)
printf("%d ",a[i]);
return 0;

}
void f1(int a[],int n)
{
int i,j,t,k;
for(i=0; i<n-1; i++)
{
k=i;
for(j=i+1; j<n; j++)
if(a[k]<a[j])
{
k=j;/*k的作用是找到剩下的数中最大(小)数的下标*/

}
if(k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;

}
}

}

posted @ 2015-01-09 09:15  zach96  阅读(205)  评论(0)    收藏  举报