当前位置:首页 C++ > 正文

C++标准模板库(STL)之 algorithm头文件下的常用函数

作者:野牛程序员:2023-07-12 06:16:37 C++阅读 2709

C++标准模板库(STL)的algorithm头文件提供了许多常用函数,用于在容器中执行各种算法操作。以下是一些algorithm头文件中常用函数的介绍:

  1. for_each: 该函数用于对容器中的每个元素执行指定的操作,可以通过函数指针、函数对象或Lambda表达式来指定操作。例如:

    std::vector<int> vec = {1, 2, 3, 4, 5};
    std::for_each(vec.begin(), vec.end(), [](int& n) { n *= 2; });
    // vec中的每个元素都会乘以2

  2. find: 该函数用于在容器中查找指定值的元素,并返回指向该元素的迭代器。如果未找到,则返回容器的end迭代器。例如:

  3. std::vector<int> vec = {1, 2, 3, 4, 5};
    auto it = std::find(vec.begin(), vec.end(), 3);
    if (it != vec.end()) {
        // 找到了值为3的元素
    } else {
        // 未找到值为3的元素
    }
  4. sort: 该函数用于对容器中的元素进行排序,默认按升序排序。可以通过提供自定义的比较函数来指定排序规则。例如:

    std::vector<int> vec = {5, 3, 1, 4, 2};
    std::sort(vec.begin(), vec.end());  // 默认升序排序
    // vec变为 {1, 2, 3, 4, 5}
    
    // 自定义比较函数,按降序排序
    std::sort(vec.begin(), vec.end(), [](int a, int b) { return a > b; });
    // vec变为 {5, 4, 3, 2, 1}

  5. count: 该函数用于计算容器中某个值的出现次数,并返回结果。例如:

  6. std::vector<int> vec = {1, 2, 2, 3, 2};
    int count = std::count(vec.begin(), vec.end(), 2);
    // count的值为3,因为2在vec中出现了3次
  7. accumulate: 该函数用于计算容器中元素的累加和,可以指定初始值和二元操作函数。例如:

    std::vector<int> vec = {1, 2, 3, 4, 5};
    int sum = std::accumulate(vec.begin(), vec.end(), 0);
    // sum的值为15,即1 + 2 + 3 + 4 + 5

这只是algorithm头文件中一小部分常用函数的介绍,还有其他许多函数可供使用,如binary_search、copy、transform、max_element、min_element等。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击