6868
6969 </ head >
7070 < body >
71- < header data-kunai-mdinfo ="{"meta": {"header": ["algorithm"], "namespace": ["std::ranges"], "id-type": ["function template"], "cpp": ["cpp20"]}, "sources": [{"id": "cc4cbdcda171e6970cee3176107cafe7528a4801", "source": "#include <algorithm>\n#include <iostream>\n#include <vector>\n\nvoid print(const char* tag, const std::vector<int>& v) {\n std::cout << tag << \" : \";\n bool first = true;\n for (int x : v) {\n if (first) {\n first = false;\n }\n else {\n std::cout << ',';\n }\n std::cout << x;\n }\n std::cout << std::endl;\n}\n\nint main() {\n // \u5165\u529b\u306e\u914d\u5217\u304c\u30bd\u30fc\u30c8\u6e08\u307f\u3067\u306f\u306a\u3044\u5834\u5408\u3001\n // \u96a3\u308a\u5408\u3063\u305f\u91cd\u8907\u8981\u7d20\u304c\u53d6\u308a\u9664\u304b\u308c\u308b\n {\n std::vector<int> v = { 2,5,3,3,1,2,4,2,1,1,4,4,3,3,3 };\n\n auto result = std::ranges::unique(v);\n\n // [v.begin(), result.begin())\u306e\u7bc4\u56f2\u306b\u3001\u91cd\u8907\u3092\u9664\u3044\u305f\u7d50\u679c\u304c\u5165\u3063\u3066\u3044\u308b\u3002\n // \u4e0d\u8981\u306b\u306a\u3063\u305f\u8981\u7d20\u3092\u524a\u9664\n v.erase(result.begin(), result.end());\n\n print(\"unsorted unique\", v);\n }\n\n // \u5165\u529b\u306e\u914d\u5217\u304c\u30bd\u30fc\u30c8\u6e08\u307f\u3067\u3042\u308b\u5834\u5408\u3001\n // \u91cd\u8907\u3057\u3066\u3044\u308b\u5168\u3066\u306e\u8981\u7d20\u304c\u53d6\u308a\u9664\u304b\u308c\u3066\u4e00\u610f\u306b\u306a\u308b\n {\n std::vector<int> v = { 2,5,3,3,1,2,4,2,1,1,4,4,3,3,3 };\n\n std::sort(v.begin(), v.end());\n auto result = std::ranges::unique(v);\n\n // \u4e0d\u8981\u306b\u306a\u3063\u305f\u8981\u7d20\u3092\u524a\u9664\n v.erase(result.begin(), result.end());\n\n print(\"sorted unique\", v);\n }\n}\n"}], "page_id": ["reference", "algorithm", "ranges_unique"]} ">
71+ < header data-kunai-mdinfo ="{"meta": {"header": ["algorithm"], "namespace": ["std::ranges"], "id-type": ["function template"], "cpp": ["cpp20"]}, "sources": [{"id": "2a7e269893322bee3f1a389182122796f7c6cf6a", "source": "#include <algorithm>\n#include <iostream>\n#include <vector>\n\nvoid print(const char* tag, const std::vector<int>& v) {\n std::cout << tag << \" : \";\n bool first = true;\n for (int x : v) {\n if (first) {\n first = false;\n }\n else {\n std::cout << ',';\n }\n std::cout << x;\n }\n std::cout << std::endl;\n}\n\nint main() {\n // \u5165\u529b\u306e\u914d\u5217\u304c\u30bd\u30fc\u30c8\u6e08\u307f\u3067\u306f\u306a\u3044\u5834\u5408\u3001\n // \u96a3\u308a\u5408\u3063\u305f\u91cd\u8907\u8981\u7d20\u304c\u53d6\u308a\u9664\u304b\u308c\u308b\n {\n std::vector<int> v = {2, 5, 3, 3, 1, 2, 4, 2, 1, 1, 4, 4, 3, 3, 3};\n\n auto result = std::ranges::unique(v);\n\n // [v.begin(), result.begin())\u306e\u7bc4\u56f2\u306b\u3001\u91cd\u8907\u3092\u9664\u3044\u305f\u7d50\u679c\u304c\u5165\u3063\u3066\u3044\u308b\u3002\n // \u4e0d\u8981\u306b\u306a\u3063\u305f\u8981\u7d20\u3092\u524a\u9664\n v.erase(result.begin(), result.end());\n\n print(\"unsorted unique\", v);\n }\n\n // \u5165\u529b\u306e\u914d\u5217\u304c\u30bd\u30fc\u30c8\u6e08\u307f\u3067\u3042\u308b\u5834\u5408\u3001\n // \u91cd\u8907\u3057\u3066\u3044\u308b\u5168\u3066\u306e\u8981\u7d20\u304c\u53d6\u308a\u9664\u304b\u308c\u3066\u4e00\u610f\u306b\u306a\u308b\n {\n std::vector<int> v = {2, 5, 3, 3, 1, 2, 4, 2, 1, 1, 4, 4, 3, 3, 3};\n\n std::sort(v.begin(), v.end());\n auto result = std::ranges::unique(v);\n\n // \u4e0d\u8981\u306b\u306a\u3063\u305f\u8981\u7d20\u3092\u524a\u9664\n v.erase(result.begin(), result.end());\n\n print(\"sorted unique\", v);\n }\n}\n"}], "page_id": ["reference", "algorithm", "ranges_unique"]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
188188
189189 < p class ="text-right "> < small >
190190 最終更新日時(UTC):
191- < span itemprop ="datePublished " content ="2024-06-11T13:45:38 ">
192- 2024年06月11日 13時45分38秒
191+ < span itemprop ="datePublished " content ="2025-04-30T02:36:46 ">
192+ 2025年04月30日 02時36分46秒
193193 </ span >
194194 < br />
195195 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
196- < span itemprop ="name "> Akira Takahashi </ span >
196+ < span itemprop ="name "> rotarymars </ span >
197197 </ span >
198198 が更新
199199 </ small > </ p >
@@ -255,7 +255,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価
255255< h2 > < a class ="cpprefjp-defined-word " data-desc ="関数等の意味論を構成する要素の1つ。Complexity。関数が使うアルゴリズムの空間計算量・時間計算量 "> 計算量</ a > </ h2 >
256256< p > < code > [first,last)</ code > が空の範囲でない場合、正確に < code > last - first - 1</ code > 回の比較または< a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > の適用を行う</ p >
257257< h2 > 例</ h2 >
258- < p > < div class ="yata " id ="cc4cbdcda171e6970cee3176107cafe7528a4801 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../algorithm.html "> <algorithm></ a > </ span > < span class ="cp "> </ span >
258+ < p > < div class ="yata " id ="2a7e269893322bee3f1a389182122796f7c6cf6a "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../algorithm.html "> <algorithm></ a > </ span > < span class ="cp "> </ span >
259259< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../iostream.html "> <iostream></ a > </ span > < span class ="cp "> </ span >
260260< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../vector.html "> <vector></ a > </ span > < span class ="cp "> </ span >
261261
@@ -278,7 +278,7 @@ <h2>例</h2>
278278 < span class ="c1 "> // 入力の配列がソート済みではない場合、</ span >
279279 < span class ="c1 "> // 隣り合った重複要素が取り除かれる</ span >
280280 < span class ="p "> {</ span >
281- < span class ="n "> < a href ="../vector/vector.html "> std::vector</ a > </ span > < span class ="o "> <</ span > < span class ="kt "> int</ span > < span class ="o "> ></ span > < span class ="n "> v</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> };</ span >
281+ < span class ="n "> < a href ="../vector/vector.html "> std::vector</ a > </ span > < span class ="o "> <</ span > < span class ="kt "> int</ span > < span class ="o "> ></ span > < span class ="n "> v</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> };</ span >
282282
283283 < span class ="k "> auto</ span > < span class ="n "> result</ span > < span class ="o "> =</ span > < span class ="n "> < span style ="color:#ff0000 "> std::ranges::unique</ span > </ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> );</ span >
284284
@@ -292,7 +292,7 @@ <h2>例</h2>
292292 < span class ="c1 "> // 入力の配列がソート済みである場合、</ span >
293293 < span class ="c1 "> // 重複している全ての要素が取り除かれて一意になる</ span >
294294 < span class ="p "> {</ span >
295- < span class ="n "> < a href ="../vector/vector.html "> std::vector</ a > </ span > < span class ="o "> <</ span > < span class ="kt "> int</ span > < span class ="o "> ></ span > < span class ="n "> v</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> };</ span >
295+ < span class ="n "> < a href ="../vector/vector.html "> std::vector</ a > </ span > < span class ="o "> <</ span > < span class ="kt "> int</ span > < span class ="o "> ></ span > < span class ="n "> v</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> };</ span >
296296
297297 < span class ="n "> < a href ="sort.html "> std::sort</ a > </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../vector/vector/begin.html "> v.begin()</ a > </ span > < span class ="p "> ,</ span > < span class ="n "> < a href ="../vector/vector/end.html "> v.end()</ a > </ span > < span class ="p "> );</ span >
298298 < span class ="k "> auto</ span > < span class ="n "> result</ span > < span class ="o "> =</ span > < span class ="n "> < span style ="color:#ff0000 "> std::ranges::unique</ span > </ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> );</ span >
0 commit comments