【发布时间】:2019-02-05 07:31:36
【问题描述】:
我正在尝试找出pair<int, std::string> 向量中的最小值和最大值。
我的代码:
#include <iostream>
#include <vector>
#include <string>
int main()
{
std::vector<std::pair<int, std::string>> pairs;
pairs = {{6,"a"}, {4,"b"}, {5,"c"}, {8,"d"}, {7,"e"}};
int min = 0, max = 0;
// How can I find out the minimum and maximum?
std::cout << "Minimum Number: " << min << '\n';
std::cout << "Maximum Number: " << max << '\n';
}
我想要的结果:
Minimum Value: 4
Maximum Value: 8
Program ended with exit code: 0
我怎样才能得到我想要的结果?
到目前为止,这是我的解决方案。
std::sort(pairs.begin(), pairs.end());
min = pairs[0].first;
max = pairs[pairs.size()-1].first;
虽然可行,但我想学习一个比这更简单、更快的解决方案。
【问题讨论】:
-
查看<algorithm> 可能是很好的第一步。
标签: c++ vector max min std-pair