Heim  >  Artikel  >  Backend-Entwicklung  >  Wie finde ich Elemente in einem C++-STL-Container?

Wie finde ich Elemente in einem C++-STL-Container?

王林
王林Original
2024-06-05 19:44:11961Durchsuche

Um Elemente in einem C++-STL-Container zu finden, können Sie die folgenden Methoden verwenden: find()-Funktion: Suchen Sie das erste Element, das dem angegebenen Wert entspricht. Funktion find_if(): Finden Sie das erste Element, das die angegebene Bedingung erfüllt. Funktion count(): Gibt die Anzahl der Elemente im Container zurück, die dem angegebenen Wert entsprechen.

如何查找C++ STL容器中的元素?

So finden Sie Elemente im C++-STL-Container

In C++ stellt STL (Standard Template Library) eine Reihe leistungsstarker Containerklassen zum Speichern und Verwalten von Daten bereit. Das Auffinden von Elementen in einem Container gehört zu den häufigsten Aufgaben, und STL bietet mehrere Möglichkeiten, dies zu erreichen.

find()-Funktion

find()-Funktion wird verwendet, um das erste Element zu finden, das dem angegebenen Wert entspricht. Für alle sequentiellen Container (wie vector und list) und assoziative Container (wie map und set) effizient . find() 函数用于查找第一个与指定值匹配的元素。对于所有序列式容器(例如 vectorlist)和关联式容器(例如 mapset)都有效。

#include <vector>

int main() {
  std::vector<int> v = {1, 3, 5, 7, 9};

  // 查找元素 5
  auto it = std::find(v.begin(), v.end(), 5);

  // 如果元素找到,it 将指向该元素
  if (it != v.end()) {
    std::cout << "元素 5 找到" << std::endl;
  } else {
    std::cout << "元素 5 未找到" << std::endl;
  }

  return 0;
}

find_if() 函数

find_if() 函数用于查找第一个满足指定条件的元素。它接受一个谓词(一个返回布尔值的函数)作为参数。

#include <vector>

int main() {
  std::vector<int> v = {1, 3, 5, 7, 9};

  // 查找第一个大于 5 的元素
  auto it = std::find_if(v.begin(), v.end(), [](int x) { return x > 5; });

  // 如果元素找到,it 将指向该元素
  if (it != v.end()) {
    std::cout << "第一个大于 5 的元素为 " << *it << std::endl;
  } else {
    std::cout << "没有找到大于 5 的元素" << std::endl;
  }

  return 0;
}

count() 函数

count()

#include <vector>

int main() {
  std::vector<int> v = {1, 1, 3, 5, 1, 7, 9};

  // 计算元素 1 出现的次数
  int count = std::count(v.begin(), v.end(), 1);

  std::cout << "元素 1 出现的次数为 " << count << std::endl;

  return 0;
}

🎜find_if()-Funktion 🎜🎜🎜find_if() Die Funktion wird verwendet, um das erste Element zu finden, das die angegebene Bedingung erfüllt. Es akzeptiert ein Prädikat (eine Funktion, die einen booleschen Wert zurückgibt) als Argument. 🎜rrreee🎜🎜count()-Funktion 🎜🎜🎜count() Die Funktion gibt die Anzahl der Elemente im Container zurück, die dem angegebenen Wert entsprechen. 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie finde ich Elemente in einem C++-STL-Container?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn