C STL演算法系列count函式

2021-07-30 05:49:51 字數 1171 閱讀 8044

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 讀取一...