68
68
69
69
</ head >
70
70
< 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"]} ">
72
72
< nav class ="navbar navbar-default " role ="navigation ">
73
73
< div class ="container-fluid ">
74
74
< div class ="navbar-header ">
188
188
189
189
< p class ="text-right "> < small >
190
190
最終更新日時(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秒
193
193
</ span >
194
194
< br />
195
195
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
196
- < span itemprop ="name "> Akira Takahashi </ span >
196
+ < span itemprop ="name "> rotarymars </ span >
197
197
</ span >
198
198
が更新
199
199
</ small > </ p >
@@ -255,7 +255,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価
255
255
< h2 > < a class ="cpprefjp-defined-word " data-desc ="関数等の意味論を構成する要素の1つ。Complexity。関数が使うアルゴリズムの空間計算量・時間計算量 "> 計算量</ a > </ h2 >
256
256
< p > < code > [first,last)</ code > が空の範囲でない場合、正確に < code > last - first - 1</ code > 回の比較または< a class ="cpprefjp-defined-word " data-desc ="boolを返す関数・関数オブジェクト。predicate "> 述語</ a > の適用を行う</ p >
257
257
< 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 >
259
259
< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../iostream.html "> <iostream></ a > </ span > < span class ="cp "> </ span >
260
260
< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../vector.html "> <vector></ a > </ span > < span class ="cp "> </ span >
261
261
@@ -278,7 +278,7 @@ <h2>例</h2>
278
278
< span class ="c1 "> // 入力の配列がソート済みではない場合、</ span >
279
279
< span class ="c1 "> // 隣り合った重複要素が取り除かれる</ span >
280
280
< 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 >
282
282
283
283
< 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 >
284
284
@@ -292,7 +292,7 @@ <h2>例</h2>
292
292
< span class ="c1 "> // 入力の配列がソート済みである場合、</ span >
293
293
< span class ="c1 "> // 重複している全ての要素が取り除かれて一意になる</ span >
294
294
< 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 >
296
296
297
297
< 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 >
298
298
< 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