我有一个结构向量{key; value},按键排序:
{ {0, 1}, {0, 2}, {1, 1}, {1, 2}, {1, 3}, {2, 1}, {2, 2} }
我需要使用相同的键擦除除最后一个元素之外的所有元素.结果应该是:
{ {0, 2}, {1, 3}, {2, 2} }
最简洁的方法是什么?我可以使用哪种STL算法?显然,此任务不适合删除 - 擦除习惯用法.
一个天真但有效的解决方案是迭代向量,将相关元素复制到新的向量中.
另一种方法是使用std::unique(使用适当的谓词).由于您希望保留每个组中的最后一个元素,因此您需要使用反向迭代器.
| 归档时间: |
|
| 查看次数: |
782 次 |
| 最近记录: |