梧桐下的四叶草 2015-03-15 14:52 采纳率: 33.3%
浏览 3064
已采纳

如何设计bool operator才能使set在结构体中用?

结构体的三个数id,h,w;
先比较id,若id相同比较h,类推下去。
如何实现????
#include
#include
using namespace std;
struct S
{
int id;
int h;
int w;
};
bool operator<(const S& lhs, const S& rhs) {
if (lhs.id!=rhs.id)
{
return lhs.id>rhs.id;
}
if (lhs.id!=rhs.id)
{
return lhs.h>rhs.h;
}
return lhs.h>rhs.h;
}
int main()
{
set a;
int n,m;
cin >> n;
while (n--)
{
cin >> m;
for (int i=0;i {
cin >> a.id >> a.h >> a.w;
}
set::iterator it;
for (int it=begin();i!=a.size();++i)
{
cout << a.id << " " << a.h << " " << a.w ;
}
a.clear();
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • devmiao 2015-03-15 16:00
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?