C++ 带谓词的sort函数 编译出错

shijizhisheng 2011-05-23 09:13:18
struct matchResult{
int hangID;
int setId;
double s;
};
inline bool my_compare( const matchResult & s1, const matchResult & s2)
{
return (s1.s < s2.s); // 升序排列
}
vector<matchResult> listS;
for(int i=0;i<N;i++)
{
listS.push_back().............
}
sort(listS.begin(),listS.end(),my_compare);
...全文
228 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongwenjun 2011-05-23
  • 打赏
  • 举报
回复
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct matchResult {
int hangID;
int setId;
double s;
};
inline bool my_compare(const matchResult & s1, const matchResult & s2)
{
return (s1.s > s2.s); // 反序排列
}
int main()
{

vector<matchResult> listS;
for (int i = 0; i < 9; i++) {
listS.push_back( {i, i, (double)i});
}
sort(listS.begin(), listS.end(), my_compare);
vector<matchResult>::iterator iter = listS.begin();
while (iter != listS.end()) {
cout << iter->s << endl;
iter++;
}
}
  • 打赏
  • 举报
回复
LZ贴上完整的代码吧或者编译错误的信息...
downmooner 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 q191201771 的回复:]

其实人家用的是vector。。。。引用 1 楼 downmooner 的回复:

hi,list自带了sort函数,不用algorithm里的sort
[/Quote]
没看清楚

...vector<matchResult> listS;

命名上就觉得楼主选错容器了。。。
ljt3969636 2011-05-23
  • 打赏
  • 举报
回复
程序来说没什么错~像#1说的是不是忘记头文件了
就想叫yoko 2011-05-23
  • 打赏
  • 举报
回复
另外list vector的sort是要里面的元素支持<比较才行的
qq120848369 2011-05-23
  • 打赏
  • 举报
回复
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

struct matchResult
{
matchResult(double d):s(d)
{
}

matchResult(const matchResult &obj):s(obj.s)
{
}

int hangID;
int setId;
double s;
};

inline bool my_compare(const matchResult &s1,const matchResult &s2)
{
return s1.s<s2.s;
}

int main()
{
vector<matchResult> listS;

for(int i=0;i<10;i++)
{
listS.push_back(matchResult(i));
}

sort(listS.begin(),listS.end(),my_compare);

return 0;
}


没什么问题,头文件包含了没.
就想叫yoko 2011-05-23
  • 打赏
  • 举报
回复
其实人家用的是vector。。。。[Quote=引用 1 楼 downmooner 的回复:]

hi,list自带了sort函数,不用algorithm里的sort
[/Quote]
  • 打赏
  • 举报
回复
有没有加头文件 #include <algorithm>
downmooner 2011-05-23
  • 打赏
  • 举报
回复
hi,list自带了sort函数,不用algorithm里的sort
shijizhisheng 2011-05-23
  • 打赏
  • 举报
回复
谢谢大家的帮助,问题解决了,这里没有问题,原来是我上面其他函数中,set中使用了sort函数!再次谢谢大家!

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧