我试图在C ++中使用stl sort对结构进行排序。但我得到一些错误。是不是我们不能使用stl排序在c ++中对结构进行排序,或者是我在实现中的错误,如果我的错误让我知道更正。
这是代码(非常小:) :)
#include<iostream>
#include<algorithm>
using namespace std;
struct log {
int sd;
int ed;
} log[1000];
bool key(int i,int j) {
return (log[i].ed<log[j].ed);
}
int main() {
int n,i;
cin>>n;
sort(log,log+n,key);
for (i=0;i<n;i++) cin>>log[i].sd>>log[i].ed;
for (i=0;i<n;i++) cout<<log.sd<<","<<log.ed<<endl;
system("PAUSE");
}
答案 0 :(得分:0)
是的,你可以。但是你的比较器应该有两个const log &
(不是int
)个参数。