#includeint max(int a[],int len) { int i,maxid=0; for(i=1;i a[maxid]) maxid=i; } return maxid; } int main() { int a[]={2,6,4,3,1,5,9,10,0,7,8}; int len=sizeof(a)/sizeof(a[0]); int i; for(i=len-1;i>0;i--) //i--的目的是为了每一次max函数循环时可以将最大值放在数组靠最后的部分 //len-1是因为数组长度比数组中最后一个数的下标要大1 { int maxid=max(a,i+1); //i+1为寻找最(较)大值时数组的"变化"长度 int t=a[maxid]; //将最(较)大值赋给t a[maxid]=a[i]; //将当前数组最后一个位置上的数与该最(较)大值交换位置 a[i]=t; //将最(较)大值放到数组中当前的最后一个位置 } for(i=0;i



