常用代码知识

一、算法题常用

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;
}
相关推荐
Hi李耶5 分钟前
【LeetCode】6-Z字形变换
算法·leetcode·职场和发展
XiaoYu1__14 分钟前
算法进阶·其一:用SCC、Tarjan算法与缩点思想解决有向图的连通关系及2-SAT问题的拓展
算法
小O的算法实验室17 分钟前
AAAI-26,全局相关性学习:通过谱图神经网络增强进化算法
神经网络·学习·算法
段一凡-华北理工大学23 分钟前
AI推动工业智能化转型~系列文章07:分类与诊断算法体系:故障识别的完整工具箱
数据库·人工智能·算法·机器学习·分类·数据挖掘·高炉炼铁智能化
简信CRM24 分钟前
适合离散制造中小工厂 MES 系统推荐
算法·机器学习·制造
AKA__Zas25 分钟前
芝士算法(前缀和2.0)
java·数据结构·算法·leetcode·哈希算法·学习方法
皓月斯语39 分钟前
B3867 [GESP202309 三级] 小杨的储蓄 题解
c++·算法·题解
半夢半醒11 小时前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加菱形、平行四边形、圆角矩形,文本居中显示
算法·c#·流程图
Jerry1 小时前
LeetCode 90. 子集 II
算法
机器学习之心1 小时前
CCD实验设计+SVM代理建模+改进NSGA-II工艺参数多目标优化,MATLAB代码
算法·支持向量机·matlab·多目标优化