C++ 的标准模板库(STL)常用算法介绍

C++ 的标准模板库(STL)提供了丰富的算法,用于对容器中的元素进行各种操作和处理。下面我将介绍几个常用的 STL 算法,并为每个算法提供一个简单的示例来说明其基本用法。

1. std::for_each(遍历)

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

void print(int i) {
    std::cout << i << " ";
}

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 使用 for_each 算法遍历输出容器中的元素
    std::for_each(vec.begin(), vec.end(), print);

    return 0;
}

2. std::transform(转换)

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

int square(int i) {
    return i * i;
}

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    std::vector<int> result;

    // 使用 transform 算法对容器中的元素进行转换
    std::transform(vec.begin(), vec.end(), std::back_inserter(result), square);

    // 输出转换后的元素
    for (int i : result) {
        std::cout << i << " ";
    }

    return 0;
}

3. std::sort(排序)

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

int main() {
    std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5};

    // 使用 sort 算法对容器中的元素进行排序
    std::sort(vec.begin(), vec.end());

    // 输出排序后的元素
    for (int i : vec) {
        std::cout << i << " ";
    }

    return 0;
}

4. std::accumulate(累加)

#include <iostream>
#include <numeric>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 使用 accumulate 算法对容器中的元素进行累加
    int sum = std::accumulate(vec.begin(), vec.end(), 0);

    std::cout << "Sum: " << sum << std::endl;

    return 0;
}

通过这些简单的示例,你可以了解到如何使用 C++ STL 中的一些常用算法(for_each、transform、sort、accumulate),并对容器中的元素进行遍历、转换、排序和累加等操作。希望这些示例能帮助你更好地理解 STL 算法的使用。

相关推荐

  1. C++ 标准模板STL算法介绍

    2024-03-24 08:42:02       17 阅读
  2. C++标准模板STL)- 算法

    2024-03-24 08:42:02       69 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-24 08:42:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-24 08:42:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-24 08:42:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-24 08:42:02       18 阅读

热门阅读

  1. Python学习(二):python常用命令

    2024-03-24 08:42:02       15 阅读
  2. Superset二次开发之 配置Docker

    2024-03-24 08:42:02       14 阅读
  3. Kafka系列之:Kafka Connect REST API

    2024-03-24 08:42:02       18 阅读
  4. go实现协程池

    2024-03-24 08:42:02       17 阅读
  5. 前端框架是什么

    2024-03-24 08:42:02       16 阅读
  6. 上位机开发 halcon坐标转轴坐标

    2024-03-24 08:42:02       14 阅读
  7. 区块链与智能合约

    2024-03-24 08:42:02       17 阅读
  8. 机器翻译.

    2024-03-24 08:42:02       16 阅读
  9. 深度学习在遥感图像处理中的应用

    2024-03-24 08:42:02       18 阅读
  10. 从架构角度结合分布式缓存和本地缓存

    2024-03-24 08:42:02       16 阅读
  11. python函数

    2024-03-24 08:42:02       18 阅读