「boost::adjacent find」の版間の差分
提供: C++入門
(ページの作成:「<!-- vim: filetype=mediawiki --> 読み方 __TOC__ == 概要 == 配列のデータの重複(ちょうふく)をチェックするには、 boost::adjacent_find ...」) |
(相違点なし)
|
2013年3月20日 (水) 18:07時点における版
読み方
概要
配列のデータの重複(ちょうふく)をチェックするには、 boost::adjacent_find を利用すると簡単です。
std::vectorの重複を確認する例
これは、std::vector の値に重複があるか確認する例です。
ソースコード boost_adjacent_find_vector.cpp
#include <iostream> #include <vector> #include <boost/range/algorithm.hpp> using namespace std; void test (vector<int>& v) { if (v.end () == boost::adjacent_find(v)) { std::cout << "not duplicate" << std::endl; } else { std::cout << "duplicate" << std::endl; } } int main (int argc, char *argv[]) { vector<int> v; v.push_back ( 3 ); v.push_back ( 4 ); v.push_back ( 1 ); v.push_back ( 2 ); v.push_back ( 1 ); v.push_back ( 1 ); v.push_back ( 2 ); cout << "None sorted vector" << std::endl; test (v); boost::sort(v); cout << "After sorted vector" << std::endl; test (v); vector<int> v2; v2.push_back(1); v2.push_back(2); cout << "None duplicate vector" << std::endl; test (v2); return 0; }
コンパイル
g++ -I/usr/local/include boost_adjacent_find_vector.cpp -o boost_adjacent_find_vector
実行例
% ./boost_adjacent_find_vector None sorted vector duplicate After sorted vector duplicate None duplicate vector not duplicate