温馨提示×

c++实现STL容器用法

c++
小樊
82
2024-11-24 19:33:08
栏目: 编程语言

C++的STL(Standard Template Library)是一个包含多种数据结构和算法的模板库,它提供了许多常用的数据结构和算法,如向量、列表、集合、映射等。以下是STL中一些常用容器的用法示例:

  1. 向量(vector)
#include <iostream>
#include <vector>

int main() {
    // 创建一个整数向量
    std::vector<int> vec;

    // 向向量中添加元素
    for (int i = 0; i < 10; ++i) {
        vec.push_back(i);
    }

    // 访问向量中的元素
    for (int i = 0; i < vec.size(); ++i) {
        std::cout << vec[i] << " ";
    }

    // 使用迭代器遍历向量
    for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
        std::cout << *it << " ";
    }

    // 删除向量中的最后一个元素
    vec.pop_back();

    return 0;
}
  1. 列表(list)
#include <iostream>
#include <list>

int main() {
    // 创建一个整数列表
    std::list<int> lst;

    // 向列表中添加元素
    for (int i = 0; i < 10; ++i) {
        lst.push_back(i);
    }

    // 访问列表中的元素
    for (std::list<int>::iterator it = lst.begin(); it != lst.end(); ++it) {
        std::cout << *it << " ";
    }

    // 删除列表中的第一个元素
    lst.pop_front();

    return 0;
}
  1. 集合(set)
#include <iostream>
#include <set>

int main() {
    // 创建一个整数集合
    std::set<int> s;

    // 向集合中添加元素
    s.insert(1);
    s.insert(2);
    s.insert(3);
    s.insert(4);
    s.insert(5);

    // 遍历集合
    for (std::set<int>::iterator it = s.begin(); it != s.end(); ++it) {
        std::cout << *it << " ";
    }

    // 删除集合中的元素
    s.erase(2);

    return 0;
}
  1. 映射(map)
#include <iostream>
#include <map>

int main() {
    // 创建一个整数映射
    std::map<std::string, int> m;

    // 向映射中添加元素
    m["apple"] = 1;
    m["banana"] = 2;
    m["orange"] = 3;

    // 访问映射中的元素
    for (std::pair<std::string, int> p : m) {
        std::cout << p.first << ": " << p.second << std::endl;
    }

    // 删除映射中的元素
    m.erase("banana");

    return 0;
}

这些示例展示了STL中一些常用容器的用法,包括创建容器、添加元素、访问元素、遍历容器以及删除元素等操作。在实际编程中,你可以根据需要选择合适的容器来存储和处理数据。

0