//返回参数a中数组的两个最大元素值之和
int FF(XArray& a)
{
int i,x1=a[0],x2=a[1];
if(x1<x2) {int x=x1; x1=x2; x2=x;}
//********333********
for(i=2;i<a.length();i++)
{
if(a[i]>x1)
{
x2=x1;
x1=a[i];
}
else if(a[i]>x2)
{
x2=a[i];
}
}
return x1+x2;
//********666********
}
首先将数组的第一、二个认为是第一大(赋值x1),第二大(赋值x2)的数,再从数组剩下的元素中找第一、第二大的数。如果比最大的还大,第一大数赋值给第二大数,第一大数等于数组元素。若只比第二大数大,则第二大数等于数组元素。这样可以获得数组的第一、二大数,分别存放于x1,x2中。