Home >Backend Development >C++ >What are the common generic algorithms in the C++ standard library?

What are the common generic algorithms in the C++ standard library?

WBOY
WBOYOriginal
2024-06-06 13:06:58968browse

The C++ standard library provides generic algorithms for common data operations, including finding, counting, sorting, conversion, and traversal. These algorithms are implemented through find(), count(), sort(), transform(), and for_each(), simplifying and improving code simplicity. For example, you can use find() to find an element, count() to count the number of occurrences of an element, sort() to sort a container, transform() to transform elements, and for_each() to iterate over the container to perform operations.

What are the common generic algorithms in the C++ standard library?

Commonly used generic algorithms in the C++ standard library

Generic algorithms play a vital role in the C++ standard library , which provide a common set of operations that can be applied to a variety of data types. By using these algorithms, programmers can avoid writing duplicate code and improve code simplicity.

The following are some of the most common generic algorithms in the C++ standard library:

  • find(): Find the first occurrence of a specified element in a container Location.
  • count(): Count the number of times an element appears in a container.
  • sort(): Sort the elements in a container.
  • transform(): Convert elements in one container to elements in another container.
  • for_each(): Perform an operation on each element in a container.

Actual case:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
  // 创建一个 int 类型的向量
  std::vector<int> numbers{1, 2, 3, 4, 5};

  // 使用 find() 查找元素 3 的位置
  auto it = std::find(numbers.begin(), numbers.end(), 3);

  // 使用 count() 计算元素 3 出现的次数
  int count = std::count(numbers.begin(), numbers.end(), 3);

  // 使用 sort() 对向量进行升序排序
  std::sort(numbers.begin(), numbers.end());

  // 使用 transform() 将每个元素乘以 2
  std::transform(numbers.begin(), numbers.end(), numbers.begin(), [](int n) { return n * 2; });

  // 使用 for_each() 打印每个元素
  std::for_each(numbers.begin(), numbers.end(), [](int n) { std::cout << n << ' '; });

  std::cout << '\n';

  return 0;
}

In this case:

  • find(): Return Iterator over element 3.
  • count(): Returns the number of times element 3 appears (1).
  • sort(): Sort the vector in ascending order.
  • transform(): Multiply each element by 2.
  • for_each(): Print each element in the vector one by one.

The above is the detailed content of What are the common generic algorithms in the C++ standard library?. 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