小编Kem*_*mcy的帖子

stdlib"唯一"方法不起作用

我正在尝试使用C++标准库算法unique(带BinaryPredicate).

我已经创建了一对对矢量; 每对都像"(第一个= 4个双倍的矢量,第二个=整数)".第二个元素作为索引,因此在使用`unique之后,我仍然可以告诉原始索引.

在下面的例子中,我创建了这样的东西:


10 20 30 40, 1
10 20 30 40, 2
10 20 30 40, 3
10 20 30 40, 4
10 20 30 40, 5
10 20 30 40, 6
Run Code Online (Sandbox Code Playgroud)

现在我想使用unique函数来比较每对的第一个元素.我使用了自定义二进制预测器uniquepred.实际上,它有效,但使用后矢量不会减少unique.

预期结果

Size before=6
equal!
equal!
equal!
equal!
equal!
Size after=1
Run Code Online (Sandbox Code Playgroud)

实际结果

Size before=6
equal!
equal!
equal!
equal!
equal!
Size after=6
Run Code Online (Sandbox Code Playgroud)

最低工作示例如下.请帮我调试一下.

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

typedef std::vector<double> V1db;
typedef std::pair<V1db, int …
Run Code Online (Sandbox Code Playgroud)

c++ unique stl-algorithm

3
推荐指数
2
解决办法
2153
查看次数

标签 统计

c++ ×1

stl-algorithm ×1

unique ×1