自定义结构排序不起作用
Sorting of custom structure not working
我有一个结构边缘的向量(HLL)。我希望它根据重量对其进行排序usinf C++ std::sort()
struct Edge {
ll aId, bId ;
double w;
Edge(){}
bool operator < (const Edge & E)const
{
if(w < E.w) return -1;
else return 1;
}
};
// Here follows many push operations
sort(HLL.begin(), HLL.end());
for(int i = 0 ; i < HLL.size() ; i ++ ){
cout << HLL[i].w << endl;
}
从主我称为 STL 排序这将给出以下输出:(
212.132
474.342
300
667.083
500
200
aId 或 bId 的值会影响吗?
我以前遇到过同样的问题我正在使用苹果电脑Xcode 5.0 的代码输出
这是我为 UVA 问题编写的完整代码的链接 [http://ideone.com/39XIqO][1]
UPD : 已回答
std::sort()
需要一个布尔的二进制谓词,该谓词产生严格的弱序。你的谓词显然不是布尔值。不过,将1
解释为false
,将-1
解释为true
应该会产生严格的弱秩序。
相关文章:
- 尝试使用C++中的模板进行BST排序,但在使用随机字符串进行测试时不起作用
- 我的C++合并排序代码不起作用。我在这里错过了什么?
- 使用选择排序对数组数据结构进行排序,但它不起作用
- c++ 选择排序在特定情况下不起作用
- 为什么当我们使用等于'='符号比较器函数时,c ++的内置排序函数不起作用?
- C++插入排序错误功能不起作用
- 我正在编写一个拆分为 3 的合并排序,我不知道为什么它不起作用
- 为什么我的替代排序算法不起作用?
- 堆排序它不起作用或计算不正确
- C++ ceil() 在傀儡排序中不起作用
- 合并两个排序的列表 - 不起作用
- 排序功能不起作用
- 气泡排序不传递数据或不起作用
- 外壳排序算法不起作用
- 排序不起作用 c++
- 我已经在 C++ 中实现了合并排序。它没有错误,但不知何故不起作用
- 在 C++ 中使用 10 个随机整数的数组进行气泡排序不起作用
- 合并排序在 C++ 中不起作用
- 合并排序wih pthreads在C 中不起作用
- 当中间元素选择为枢轴时,快速排序C 不起作用