C++STLアルゴリズムシリーズ1---count関数
2562 ワード
一.count関数
Algorithmヘッダファイルはfindに似た機能を持つcountの関数を定義します.この関数は、一対の反復器と1つの値をパラメータとして使用し、この値の出現回数の統計結果を返します.
ライターはint型データの一連を読み出し、vectorオブジェクトに格納し、指定した値が何回発生したかを統計します.
コアコード:
具体的な実装:
二.count_if関数
count_if:指定した条件を満たす区間の要素数を返します.
template typename iterator_traits::difference_type count_if( InputIterator _First, InputIterator _Last, Predicate _Pred );
Parameters
_Firstは、検索される区間の最初の要素の位置を指す反復器を入力します.
_Lastは反復器を入力し、検索される区間の最後の要素の後ろを指します.
_Predユーザーがカスタマイズしたpredicate function objectは、要素がカウントされる条件を定義します.predicateは1つのパラメータしか持たずtrueまたはfalseを返す.
Return Value
述語とも呼ばれる断言(predicate)で指定した条件を満たす要素の数.
Remarks
このテンプレート関数は書道countの汎化バージョンであり,指定した値に等しい値の代わりに断言で指定した条件を用いる.
Example
述語(predicate):いくつかの検出を行う関数で、条件判断に用いるタイプを返し、条件が成立するかどうかを指摘します.
まとめ:
転載先:https://blog.51cto.com/8887511/1406046
Algorithmヘッダファイルはfindに似た機能を持つcountの関数を定義します.この関数は、一対の反復器と1つの値をパラメータとして使用し、この値の出現回数の統計結果を返します.
ライターはint型データの一連を読み出し、vectorオブジェクトに格納し、指定した値が何回発生したかを統計します.
コアコード:
cout<
具体的な実装:
// int , vector , // algorithm count , // #include #include #include using namespace std; int main() { int ival , searchValue; vector ivec; // int vector , cout<> ival) ivec.push_back(ival); cin.clear(); // // int cout<>searchValue; // count cout<
二.count_if関数
count_if:指定した条件を満たす区間の要素数を返します.
template typename iterator_traits::difference_type count_if( InputIterator _First, InputIterator _Last, Predicate _Pred );
Parameters
_Firstは、検索される区間の最初の要素の位置を指す反復器を入力します.
_Lastは反復器を入力し、検索される区間の最後の要素の後ろを指します.
_Predユーザーがカスタマイズしたpredicate function objectは、要素がカウントされる条件を定義します.predicateは1つのパラメータしか持たずtrueまたはfalseを返す.
Return Value
述語とも呼ばれる断言(predicate)で指定した条件を満たす要素の数.
Remarks
このテンプレート関数は書道countの汎化バージョンであり,指定した値に等しい値の代わりに断言で指定した条件を用いる.
Example
#include #include #include bool greater10(int value) { return value >10; } int main() { using namespace std; vector v1; vector::iterator Iter; v1.push_back(10); v1.push_back(20); v1.push_back(10); v1.push_back(40); v1.push_back(10); cout << "v1 : "; for (Iter = v1.begin(); Iter != v1.end(); Iter++) cout << *Iter << " "; cout << endl; vector::size_type result1 = count_if(v1.begin(), v1.end(), greater10); //count_if cout << "The number of elements in v1 greater than 10 is: " << result1 << "." << endl; return 0; }
述語(predicate):いくつかの検出を行う関数で、条件判断に用いるタイプを返し、条件が成立するかどうかを指摘します.
まとめ:
count : count_if :
転載先:https://blog.51cto.com/8887511/1406046