求高手帮忙解释一下下面选择排序法的程序?
用选择法对10个数进行从大到小排序程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
#include<stdio.h>
void main()
{ int i,j,temp,k,n=10,arr[10];
for(i=0;i<10;i++)
scanf("%d",&arr[i]);
for(i=0;i<n-1;i++)
{ k=i;
for(j=i+1;j<n;j++)
if(arr[k]<arr[j])
k=j;
if(k!=i)
{
temp=arr[k];
arr[k]=arr[i];
arr[i]=temp;
}
}
for(i=0;i<10;i++)
printf("%d\n",arr[i]);
}