Home  >  Article  >  Backend Development  >  How to find elements in a C++ STL container?

How to find elements in a C++ STL container?

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

To find elements in a C++ STL container, you can use the following methods: find() function: Find the first element that matches the specified value. find_if() function: Find the first element that meets the specified condition. count() function: Returns the number of elements in the container that are equal to the specified value.

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

How to find elements in a C++ STL container

In C++, STL (Standard Template Library) provides a set of powerful Container class for storing and managing data. Finding elements in a container is one of the common tasks, and STL provides several ways to accomplish this.

find() function

find() The function is used to find the first element that matches the specified value. Valid for all sequential containers (such as vector and list) and associative containers (such as map and set).

#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() function

find_if() The function is used to find the first element that meets the specified condition. It accepts a predicate (a function that returns a boolean value) as an argument.

#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() function

count() The function returns the number of elements in the container that are equal to the specified value.

#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;
}

The above is the detailed content of How to find elements in a C++ STL container?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn