count和count_if函式是計數函式,先來看一下count函式:
count函式的功能是:統計容器中等於value元素的個數。
先看一下函式的引數:
count(first,last,value); first是容器的首迭代器,last是容器的末迭代器,value是詢問的元素。
可能我說的不太詳細,來看乙個例題:
給你n個數字(n<=1000),再給你乙個數字m,問你:數字m在n個數字中出現的次數。
看到這道題,我們會想到使用sort+equal_range函式的配合(n的範圍大約在1萬---10萬左右),不過n<=1000 資料量不大,所以我們可以直接使用count函式,這裡我們要注意一點:count函式的複雜度是線性的,最壞情況是o(n)。這題很簡單,所以我們很快就可以寫出**:
#include #include #include #include using namespace std;
int main()
int ask;
while(cin>>ask)
其實comp比較函式才是整個count_if函式的核心,comp比較函式是程式設計的人寫的,返回值是乙個布林型,我相信看完我的例題後,就可以理解這個函式的應用。例題:統計1-10奇數的個數(我的**):
#include #include #include #include #include using namespace std;struct student
;bool compare(student a)
cout<
#include #include #include #include using namespace std;
bool comp(int num)
int main()
{ vector v;
for(int i=1;i<=10;i++)
v.push_back(i);
cout<
謂詞(predicate):是做某些檢測的函式,返回用於條件判斷的型別,指出條件是否成立。
總結:count : 在序列中統計某個值出現的次數
count_if : 在序列中統計與某謂詞匹配的次數
C STL演算法系列1 count函式
一.count函式 algorithm標頭檔案定義了乙個count的函式,其功能類似於find。這個函式使用一對迭代器和乙個值做引數,返回這個值出現次數的統計結果。編寫程式讀取一系列int型資料,並將它們儲存到vector物件中,然後統計某個指定的值出現了多少次。核心 cout 具體實現 1 讀取一...
C STL演算法系列1 count函式
一.count函式 algorithm標頭檔案定義了乙個count的函式,其功能類似於find。這個函式使用一對迭代器和乙個值做引數,返回這個值出現次數的統計結果。編寫程式讀取一系列int型資料,並將它們儲存到vector物件中,然後統計某個指定的值出現了多少次。核心 cout 具體實現 1 讀取一...
C STL演算法系列1 count函式
一.count函式 algorithm標頭檔案定義了乙個count的函式,其功能類似於find。這個函式使用一對迭代器和乙個值做引數,返回這個值出現次數的統計結果。編寫程式讀取一系列int型資料,並將它們儲存到vector物件中,然後統計某個指定的值出現了多少次。核心 cout 具體實現 1 讀取一...