unique - 一种在线性时间内将所有相同连续元素序列压缩为一个的函数。
作为参数,它传递数组的边界,在该边界内有必要应用压缩。
迭代器返回到数组的新末端(不包括)。您应该小心处理新结尾之后但旧结尾之前的元素,因为它们将具有未定义的值。
您可以在文档中阅读更多内容。
如果您在矢量上使用此函数,则可以方便地使用返回的结果调整大小(更多内容见下文)。
例子:
矢量 a = { 3, 3, 3, 2, 3, 3, 1, 1, 4, 5, 5 };
独特的(a.begin(),a.end());
// a = [3, 2, 3, 1, 4, 5, ?, ?, ?, ?, ?]
// 使用 unique 函数做起来很方便
//坐标压缩辅助数组
a = { 235, 10, 41, 10, 41, 41, 235, 500, 500 };
排序(a.begin(),a.end());
// a = [10, 10, 41, 41, 41, 235, 235, 500, 500]
a.resize(unique(a.begin(), a.end()) - a.begin());
// a = [10, 41, 235, 500]