std::list<T,Allocator>::unique - cppreference.com
提供: cppreference.com
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>
| (1) | ||
|
|
(C++20未満) | |
|
|
(C++20以上) | |
| (2) | ||
|
|
(C++20未満) | |
|
|
(C++20以上) | |
すべての連続する重複要素をコンテナから削除します。 等しい要素の各グループ内の最初の要素のみが残されます。 最初のバージョンは要素を比較するために operator== を使用し、2番目のバージョンは指定された二項述語 p を使用します。
引数
| p | - | 要素が等しいと扱われるべき場合に true を返す二項述語。
述語関数のシグネチャは以下と同等なものであるべきです。
シグネチャが |
戻り値
|
(なし) |
(C++20未満) |
|
削除された要素の数。 |
(C++20以上) |
計算量
コンテナのサイズに比例。
例
#include <iostream> #include <list> int main() { std::list<int> x = {1, 2, 2, 3, 3, 2, 1, 1, 2}; std::cout << "contents before:"; for (auto val : x) std::cout << ' ' << val; std::cout << '\n'; x.unique(); std::cout << "contents after unique():"; for (auto val : x) std::cout << ' ' << val; std::cout << '\n'; return 0; }
出力:
contents before: 1 2 2 3 3 2 1 1 2 contents after unique(): 1 2 3 2 1 2