C++中的unique函數用于刪除容器中相鄰重復的元素,并返回一個指向新的邏輯結尾的迭代器。它將容器中相鄰的重復元素移動到容器的末尾,并返回一個指向新的邏輯結尾的迭代器。
unique函數的使用方法如下:
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 2, 3, 3, 3, 4, 5, 5};
auto it = std::unique(vec.begin(), vec.end());
vec.erase(it, vec.end());
for (int i : vec) {
std::cout << i << " ";
}
return 0;
}
在上面的示例中,我們將一個包含重復元素的vector使用unique函數去除相鄰的重復元素,并輸出去重后的結果。unique函數會將相鄰的重復元素移動到末尾,并返回一個指向新的邏輯結尾的迭代器,我們然后使用erase函數刪除重復元素之后的部分。