C++中統計向量中匹配目標值或條件的元素個數


給定一個向量,任務是計算向量中與目標值或條件匹配的元素個數。

向量是可以改變大小的序列容器。容器是一個儲存相同型別資料的物件。序列容器嚴格按線性順序儲存元素。

向量將元素儲存在連續的記憶體位置,並允許使用下標運算子 [] 直接訪問任何元素。與陣列不同,向量可以在執行時根據需要縮小或擴充套件。向量的儲存由系統自動處理。

為了支援執行時的縮小和擴充套件功能,向量容器可能會分配一些額外的儲存空間來適應可能的增長,因此容器的實際容量大於大小。因此,與陣列相比,向量消耗更多記憶體,但可以有效地管理儲存並動態增長。

例如

Input − vector vec = {1, 2, 3, 4, 4, 4, 4}
      Target = 4
Output − count is: 4

說明 − 在給定的向量中,目標值出現了4次,因此計數為4

Input − vector vec = {1, 2, 3}
      Target = 4
Output − count is: 0

說明 − 在給定的向量中,目標值出現了0次,因此計數為0

下面程式中使用的方案如下

  • 輸入向量並將其儲存在一個向量型別變數中,例如vec

  • 將目標值設定為整數值

  • 取一個臨時變數來儲存計數

  • 呼叫C++ STL中提供的內建count函式,並將vec.begin(),vec.end(),target傳遞給函式呼叫

  • 列印結果。

示例

 線上演示

#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main(){
   vector<int> myvector{ 1, 2, 3, 4, 4, 4, 4, 4 };
   int target = 4;
   int res = count(myvector.begin(), myvector.end(), target);
   cout << "Target is: " << target << "\nCount is: " << res << endl;
   return 0;
}

輸出

如果執行以上程式碼,我們將得到以下輸出:

Target is: 4
Count is: 5

更新於:2020年5月15日

508 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.