排序问题
下列给定程序中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。
#include <stdio.h>
#define N 20
void fun(int a[],int n)
{
int i,j,t,p;
for(j=0;j<n-1;j++)
{
p=j;
for(i=j;i<n;i++)
{
if(a[i]<a[p])
{
p=j;
t=a[p];
a[p]=a[i];
a[i]=t;
}
}
}
}
main()
{
int a[N]={9,6,8,3,-1},i,m=5;
printf("dfrgddfgd:");
for(i=0;i<m;i++)
printf("%d",a[i]);
printf("\n");
fun(a,m);
printf("gfdghfg : ");
for(i=0;i<m;i++)
printf("%d",a[i]);
printf("\n");
}
各位学友早上好。加粗的部分偶不太明白,这是一道排序的题目,偶排序和查找算法掌握不好,麻烦一下各位。