今天在做百度之星热身赛时候 发现我的Set容器不行了 由于放入的是结构体 总是报错
找了n久的错误啊 也没有找到 最后和别人的代码对比才发现少些了一部分
在网上又搜搜 发现当set容器放入结构体内容是 需要重载运算符< 也就是写出来比较规则
struct node { int a,b,c,d; bool friend operator<(node x,node y) { if(x.a<y.a) return true; if(x.a==y.a&&x.b<y.b) return true; if(x.a==y.a&&x.b==y.b&&x.c<y.c) return true; if(x.a==y.a&&x.b==y.b&&x.c==y.c&&x.d<y.d) return true; return false; } }code[1005],ip[55];
写完这些之后就可以定义set<node>s
时间: 2024-10-12 06:10:30