如何查找结构数组的最大值和最小值

时间:2011-04-02 08:04:21

标签: c++

我有一个float类型的结构数组:

students[num].height 

包含程序中的20个值。 如何编写函数来查找此结构数组的最大值和最小值?

4 个答案:

答案 0 :(得分:3)

将float variable max设置为数组第一个元素的height成员,并将float variable min设置为第一个元素的height memeber。循环遍历所有结构。在循环时,如果高度大于max,则将max设置为该数字。如果高度小于min,则将min设置为该高度。

答案 1 :(得分:3)

答案 2 :(得分:2)

   // student tStudentsArray[20] = ... 
   std::max_element(tStudentsArray, tStudentsArray + tNumberOfStudents,
        [] (const student& pLeft, const student& pRight) {
            return pLeft.height < pRight.height;
        });

..任何不涵盖C ++标准库的C ++类都值得怀疑。

答案 3 :(得分:1)

结构是通过你的功能填充的,还是已经填满了?

如果它通过你的函数填充,你可以保持2个变量max(最初设置为MIN_INT)和min(最初设置为MAX_INT)。

对于每次插入检查,如果该值大于最大值或小于最小值,如果是,请将它们设置为正确。

如果没有通过你的功能填补,我会选择jonsca的答案。