C++有一个struct T{ int time; float S; }如何获得vector<struct T>t内t[].S的最大值
时间: 2024-03-02 09:49:52 浏览: 61
C++代码求最大值
5星 · 资源好评率100%
可以使用 `std::max_element` 算法来获得 `vector<struct T>` 中的最大值。具体实现如下:
```cpp
#include <vector>
#include <algorithm>
struct T {
int time;
float S;
};
int main() {
std::vector<T> t = { {1, 3.5f}, {2, 4.2f}, {3, 2.1f} };
auto max_t = std::max_element(t.begin(), t.end(), [](const T& a, const T& b) {
return a.S < b.S;
});
if (max_t != t.end()) {
std::cout << "The max value of t[].S is: " << max_t->S << std::endl;
}
return 0;
}
```
在上述代码中,使用了 `std::max_element` 算法来获得 `vector<struct T>` 中的最大值,其中第三个参数是一个 lambda 表达式,用于定义比较函数,比较 t[].S 的值大小。最后输出最大值即可。
阅读全文