分类

c++

C++ map 和 unordered_map 详解
一、基本概念对比 1. 共同点 都是关联容器,存储键值对(key-value pairs) 提供快速的查找、插入、删除操作 键(key)唯一,不能重复 2. 核心区别 特性 map unordered_map 底层实现 红黑树(平衡二叉搜索树) 哈希表
2026-01-29
|
6
|
0
|
0
浮点数输出精度控制与舍入规则详解
一、为什么要控制精度和舍入? 1.1 问题演示 #include <iostream> using namespace std; int main() { double a = 1.0 / 3; // 0.3333333333333333... double b = 2.0 /
2026-01-29
|
5
|
0
|
0
范围for循环(Range-based for loop)总结
一、核心语法格式 for (元素类型 变量名 : 容器) { // 循环体 } 记忆口诀:for (类型 名字 : 容器) 二、三种使用方式对比 写法 用途 能否修改原数据 效率 for (char c : s) 只读遍历,创建副本<
2026-01-29
|
4
|
0
|
0
C++ stack(栈)容器详解
一、什么是栈? 基本概念 栈(stack) 是一种 先进后出(First In Last Out, FILO) 的数据结构,它只有一个出口。 生活比喻 想象一叠盘子: 放盘子(入栈):只能放在最上面 取盘子(出栈):只能从最上面取 特点:最后放上去的盘子最先被取走 二、栈的重要特性 关键限制:
2026-01-29
|
7
|
0
|
0
vector 遍历方法总结(适合初学者)
一、核心概念回顾 遍历 = 按顺序访问容器中的每个元素 二、一维 vector 的遍历方法 方法1:下标遍历(最简单直观) vector<int> v = {10, 20, 30, 40, 50}; // 1.1 传统for循环 for (int i = 0; i < v.size(); i++)
2026-01-29
|
4
|
0
|
0
vector<int> 的多种赋值方法详解
一、初始化时赋值(创建时就给值) 1. 直接初始化(最常用) vector<int> v1 = {1, 2, 3, 4, 5}; // C++11开始支持 vector<int> v2{6, 7, 8, 9, 10}; // 直接列表初始化 vector<i
2026-01-29
|
6
|
0
|
0
C++ STL容器竞赛核心攻略(蓝桥杯必学)
🎯 学习策略 重点突破:只学竞赛中真正高频的容器,避免“全面但无用” 核心原则:80%的题目用20%的容器功能解决 一、必学高频(核心中的核心) 1. vector(动态数组)—— STL最基础容器 核心定位:蓝桥杯100%必考,替代C语言静态数组,支持动态扩容 必须掌握的定义方式
2026-01-29
|
4
|
0
|
0
蓝桥杯必学 4 大 STL 容器详解(stack/queue/unordered_map/unordered_set)
通用前提 所有容器使用前需包含对应头文件,核心规则: 判空优先:访问容器元素(如栈顶、队头)前,必须用empty()判断是否为空,避免程序崩溃; 效率优先:优先用unordered_*(哈希实现,O (1) 效率),仅需排序时换map/set(红黑树,O (logn)); 核心接口:每个容器只需记
2026-01-29
|
5
|
0
|
0
C++ string 核心操作全汇总(yuanbao)
蓝桥杯算法竞赛高频必备,字符串处理题的基础工具,无需死记所有函数原型,重点掌握竞赛高频用法+避坑点+组合技巧。 🔧 通用基础规则 下标从0开始,最后一个字符下标为 s.size()-1 未找到指定内容时,返回常量 string::npos 单引号'c'表示单个字符(char),双引号"str"表示
2026-01-29
|
5
|
0
|
0
C++ string 核心操作全汇总(3.1.2-3.1.9)
核心定位 蓝桥杯算法竞赛高频必备,字符串处理题的基础工具,无需死记所有函数原型,重点掌握竞赛高频用法 + 避坑点 + 组合技巧,以下按模块汇总,突出实用性、易读性,适配算法题场景。 通用基础 下标从0开始,最后一个字符下标为s.size()-1; 未找到指定内容时,返回常量string::npos(
2026-01-29
|
7
|
0
|
0