C++关联容器是用来存储键-值对的数据结构,其中键是唯一的,通过键可以快速查找对应的值。下面是一些关联容器的实际使用场景和相关的源码示例:

  1. std::map:用于存储键-值对,并按照键的大小进行排序。常用于构建字典、索引等场景。
#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> students;

    // 添加键-值对
    students[1] = "Alice";
    students[2] = "Bob";
    students[3] = "Charlie";

    // 遍历输出
    for (const auto& student : students) {
        std::cout << "ID: " << student.first << ", Name: " << student.second << std::endl;
    }

    // 查找键对应的值
    int id = 2;
    auto it = students.find(id);
    if (it != students.end()) {
        std::cout << "Name of student with ID " << id << ": " << it->second << std::endl;
    } else {
        std::cout << "Student with ID " << id << " not found." << std::endl;
    }

    return 0;
}
  1. std::set:用于存储唯一的值,并按照值的大小进行排序。常用于查找、去重等场景。
#include <iostream>
#include <set>

int main() {
    std::set<int> numbers;

    // 添加值
    numbers.insert(3);
    numbers.insert(1);
    numbers.insert(2);

    // 遍历输出
    for (const auto& number : numbers) {
        std::cout << number << " ";
    }
    std::cout << std::endl;

    // 查找值
    int target = 2;
    auto it = numbers.find(target);
    if (it != numbers.end()) {
        std::cout << "Found " << target << std::endl;
    } else {
        std::cout << "Not found " << target << std::endl;
    }

    return 0;
}
  1. std::unordered_map:用于存储键-值对,并通过哈希函数快速查找值,不保持元素的顺序。常用于高效的查找、索引等场景。
#include <iostream>
#include <unordered_map>

int main() {
    std::unordered_map<int, std::string> students;

    // 添加键-值对
    students[1] = "Alice";
    students[2] = "Bob";
    students[3] = "Charlie";

    // 遍历输出
    for (const auto& student : students) {
        std::cout << "ID: " << student.first << ", Name: " << student.second << std::endl;
    }

    // 查找键对应的值
    int id = 2;
    auto it = students.find(id);
    if (it != students.end()) {
        std::cout << "Name of student with ID " << id << ": " << it->second << std::endl;
    } else {
        std::cout << "Student with ID " << id << " not found." << std::endl;
    }

    return 0;
}
  1. std::unordered_set:用于存储唯一的值,并通过哈希函数快速查找值,不保持元素的顺序。常用于高效的查找、去重等场景。
#include <iostream>
#include <unordered_set>

int main() {
    std::unordered_set<int> numbers;

    // 添加值
    numbers.insert(3);
    numbers.insert(1);
    numbers.insert(2);

    // 遍历输出
    for (const auto& number : numbers) {
        std::cout << number << " ";
    }
    std::cout << std::endl;

    // 查找值
    int target = 2;
    auto it = numbers.find(target);
    if (it != numbers.end()) {
        std::cout << "Found " << target << std::endl;
    } else {
        std::cout << "Not found " << target << std::endl;
    }

    return 0;
}

这些示例展示了C++关联容器的一些常见使用场景,包括存储键-值对并按照键进行排序的场景、存储唯一值并进行快速查找的场景等。具体的使用场景还取决于具体的需求和业务逻辑

C++关联容器的实际使用场景请列出相关源码

原文地址: https://www.cveoy.top/t/topic/hXkt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录