「std::list::unique」の版間の差分
提供: C++入門
(ページの作成:「std::list::unique とは、std::list内の重複を削除します。Unixのコマンドで言えば、uniqコマンドの処理を行います。ただ、uniqu...」) |
(相違点なし)
|
2014年7月12日 (土) 20:35時点における最新版
std::list::unique とは、std::list内の重複を削除します。Unixのコマンドで言えば、uniqコマンドの処理を行います。ただ、uniqueを呼び出すと、uniqコマンドを実行したことになります。sort -u と同じようなことを望むなら、もしくは、sort|uniq を望むなら、std::list::sortをしてからstd::list::uniqueをします。
読み方
- std::list::unique
- えすてぃーでぃー りすと ゆにーく
概要
std::list::uniqueは、比較関数を指定することができます。
整数のリストをソートする例です。
// uniq を実行するイメージ list<int> list1 = { 1,1,1,1,1,2,3,1,2,3,2,8,9 }; list1.unique();
// sort -u (sort|uniq) 的なことを望むなら list<int> list1 = { 1,1,1,1,1,2,3,1,2,3,2,8,9 }; list1.sort(); list1.unique();
整数リストをユニーク処理する例 list_unique1.cpp
ソースコード list_unique1.cpp
/* * list1.cpp * Copyright (C) 2014 kaoru <kaoru@bsd> */ #include <iostream> #include <list> using namespace std; void print(list<int> &list1) { for (auto x: list1) { cout << x << " "; } cout << endl; } int main(int argc, char const* argv[]) { list<int> list1 = { 1,1,1,1,1,2,3,1,2,3,2,8,9 }; list1.unique(); print(list1); list1.sort(); list1.unique(); print(list1); return 0; }
コンパイル
g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \ -Wl,-rpath=/usr/local/lib/gcc49 list_unique1.cpp -o list_unique1
実行例
% ./list_unique1 1 2 3 1 2 3 2 8 9 1 2 3 8 9
関連項目
- 要素へのアクセス
- 変更
- 操作