常用代码知识

一、算法题常用

C++STL中哈希表(std::unordered_map和std::unordered_multimap)

unordered_map和unordered_multimap区别在与mult的值可以重复。

方法insert、erase、size、count(统计出现次数)

cpp 复制代码
#include <iostream>
#include <unordered_map>

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

    // 插入元素
    ageMap["Alice"] = 30;
    ageMap["Bob"] = 25;
    ageMap["Charlie"] = 35;

    // 访问元素
    std::cout << "Alice's age: " << ageMap["Alice"] << std::endl;

    // 查找元素
    auto search = ageMap.find("Bob");
    if (search != ageMap.end()) {
        std::cout << "Bob's age: " << search->second << std::endl;
    }

    return 0;
}
cpp 复制代码
#include <iostream>
#include <unordered_map> // 注意这里用的是 unordered_map 的头文件,因为 multimap 也包含在里面

int main() {
    std::unordered_multimap<std::string, int> scores;

    // 插入元素
    scores.insert({"Alice", 90});
    scores.insert({"Bob", 85});
    scores.insert({"Alice", 95}); // Alice 有两个分数

    // 访问元素(演示如何遍历一个键的所有值)
    auto range = scores.equal_range("Alice"); // 获取所有键为 "Alice" 的元素的范围
    for (auto it = range.first; it != range.second; ++it) {
        std::cout << "Alice's score: " << it->second << std::endl;
    }

    return 0;
}
相关推荐
信奥卷王6 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵6 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
徐小黑ACG8 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
Navigator_Z8 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛9 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记9 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
浮链序9 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室9 小时前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
liliangcsdn10 小时前
派息率指标的应用探索和分析
大数据·算法