よく使われる汎用アルゴリズム



template    InputIterator find(       InputIterator _First,       InputIterator _Last,       const Type& _Val    );Valを指す反復器の検索に成功しました.境界を越えた反復器を返すことに失敗しました.Lastだからチェックと_Lastが等しいとfind(beg,end,val)//検索に失敗してend count(beg,end,val)//valが現れた回数のカウントaccumulate(beg,end,val)を返すかどうかを判断できます.ヘッダファイルに含まれ、begとendは2つの反復器で、範囲を表し、valは初期値であり、begとendの要素を加算してvalを加えることを表す.例えば、int sum=accumulate(vec.begin()、vec.end(),42); vecの要素の和に42を加えることを表す.fill(beg,end,val)begとendの間にvalを書き込むと、入力範囲内にすでに存在する要素のみが書き込まれますfill_n(beg,count,val)begからcount個のvalを書き込み、書き込み操作をチェックしないアルゴリズム、不安全、back_Inserter(vec)はに含まれ、vec容器に挿入されます.使用push_の作成backは挿入操作を実現するコンテナです.およびfill_n併用例fill_n(back_inserter,10,.0)vecに10個の0を挿入し、vectorのpush_に相当するback();front_inserter()push_を使用frontインプリメンテーション挿入inserter()はinsertを使用して挿入操作を実現し、関連するコンテナに加えて、inserterは挿入開始位置を指す反復器を指す2番目の実パラメータを有する.Unique(beg,end)は重複する要素を除去し、(削除なし)返される反復器は、重複しない要素の範囲の末端を超えた次の位置を指す.空間の大きさは変化せず、隣接する要素をvectorvecで覆うだけである.string str=「fox jumps over quick red red slow the turtle」;string word;istringstream stream(str);    while(stream>>word)     {         vec.push_back(word);     }     vector::iterator end_unique=unique(vec.begin(),vec.end()); //繰り返しのない要素をシーケンスの先端にコピーし、隣接する要素を上書きしますvec.erase(end_unique,vec.end()); replace(beg,end,val 1,val 2)は、val 1に等しい置換val 2を検索する. replace_copy(beg,end,vec,val 1,val 2)は、val 1に等しい置換val 2を検索する.begからendの間の値を変更せずにvecに挿入します.template OutputIterator replace_copy(       InputIterator _First,       InputIterator _Last,       OutputIterator _Result,       const Type& _OldVal,       const Type& _NewVal    );
template
     
   OutputIterator copy(
     
      InputIterator _First, 
     
      InputIterator _Last, 
     
      OutputIterator _DestBeg
     
   );
     
template
     
   OutputIterator unique_copy(
     
      InputIterator _First, 
     
      InputIterator _Last, 
     
      OutputIterator _Result
     
   );
     
template
     
   OutputIterator unique_copy(
     
      InputIterator _First, 
     
      InputIterator _Last, 
     
      OutputIterator _Result,
     
      BinaryPredicate _Comp,
     
   );
     
copyアルゴリズムを利用して1つのファイルの内容を標準出力のofstream outfileに書き込む.    string filename="C:\\Users\\Administrator\\Desktop\\file.txt";       ifstream inf(filename.c_str()) ;     istream_iteratorinfile(inf),end_file;           outfile.open(filename.c_str(),ios_base::app);     ostream_iteratoroutput(cout,":\t ");     copy(infile,end_file,output);