我正在尝试使用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)