Translations of this page?:

adjacent_find

文法:

    #include <algorithm>
    forward_iterator adjacent_find( forward_iterator start, forward_iterator end );
    forward_iterator adjacent_find( forward_iterator start, forward_iterator end, BinPred pr );

adjacent_find()関数はstartendの間にある二つの連続した同じ要素を探します。二項述語prが与えられた場合、同値判定にそれを用います。

見つかった場合、二つの要素の最初の要素を指すiteratorを返します。見つからなかった場合、iteratorはendを指します。

例えば、次のコードでは0から10の整数を要素として持ち7が二つ連続して出現しているvectorを生成し、adjacent_find()で7の組の位置を探しています:

   vector<int> v1;
   for( int i = 0; i < 10; i++ ) {
     v1.push_back(i);
     // 二つ目の7を挿入
     if( i == 7 ) {
       v1.push_back(i);
     }
   }
 
   vector<int>::iterator result;
   result = adjacent_find( v1.begin(), v1.end() );
 
   if( result == v1.end() ) {
     cout << "v1では隣接した要素は見つかりませんでした" << endl;
   }
 
   else {
     cout << *result << "から始まる隣接した要素を発見" << endl;
   }

関連トピック: find, find_end, find_first_of, find_if, unique, unique_copy

 
• • • SitemapRecent changesRSScc