下面我有一个结构体
struct Income
{
string firstname;
string lastname;
double income;
};
struct World
{
Income people[100];
} myWorld;我希望通过名字和姓氏打印并显示收入最高的前5名。
有什么好方法可以对收入进行排序和阅读,并按姓名打印收入前5名的收入?
假设我在这个结构中有100个值。
发布于 2015-11-15 12:54:37
您希望使用接受比较函数的std::sort,如下所示:
#include <algorithm>
using namespace std;
vector<Income> v;
for (auto i : myWorld.people) {
v.push_back(i);
}
sort(v.begin(), v.end(), [](const Income& i, const Income& j) { return i.income > j.income; });然后只需打印前5个代码,就像这样:
for (size_t i = 0; i < 5; ++i) {
cout << v[i].firstname << " " << v[i].lastname << endl;
}https://stackoverflow.com/questions/33716518
复制相似问题