摘要: C++ - STL - 迭代器 什么是迭代器?🤔 想象一下,你有一排整齐的书架,上面放着很多书。你现在想从第一本开始,一本一本地看书名。你怎么做呢? 你会用手指指着第一本书,看完书名后,手指移动到下一本书,再看书名,这样一直指到最后一本书。 在C++的STL中,迭代器就是你的"手指"!它用来"指向"容器(比如数组、列表等)中的元 阅读全文
posted @ 2025-09-12 15:34 一亩食堂 阅读(39) 评论(0) 推荐(0)
摘要: C++ - STL - 键值对pair 键值对——pair STL中的pair是一个模板类,用于将两个可能类型不同的值组合成一个单元,常用于存储键值对或函数返回多个值的场景。 创建 上面尖括号里面,是用来指定类型的。这种指定类型的方式STL会一直使用的。 更准确的应该是叫泛型,用到的技术是模板。 使用pair的元素 pair的前面是fir 阅读全文
posted @ 2025-09-12 15:13 一亩食堂 阅读(38) 评论(0) 推荐(0)
摘要: C++ - STL - 静态数组array array 静态数组 array是固定大小的序列容器,array中包含特定个数并且严格按照线性序列排序的元素。因此array允许对元素进行随机访问,指向某一元素的指针可以通过偏移访问其他元素。在array内部,它只保存自己包含的元素,其他任何信息都不保存,包括自身的大小。 说白了其实array跟我们 阅读全文
posted @ 2025-09-12 14:20 一亩食堂 阅读(30) 评论(0) 推荐(0)
摘要: C++ - STL - 动态数组vector(矢量) vector 动态数组 定义和初始化 vector<int> a; //创建一个空数组 vector<int> b(100); //创建100个元素大小的数组 vector<char> c(10,'a');//创建一个10个元素的数组,元素都是a vector<int> d{1,2};//创建一个2 阅读全文
posted @ 2025-09-12 14:16 一亩食堂 阅读(58) 评论(0) 推荐(0)
摘要: C++ - STL - 集合set(元素具有排他性) set 集合(用来存储唯一性元素) C++中的set是标准模板库(STL)中的关联容器,用于存储唯一元素并按特定顺序自动排序。 ‌唯一性‌: set中的元素不可重复,插入重复元素会被自动忽略 自动排序‌: 默认按升序排列(可通过自定义比较函数修改排序规则) 底层实现‌: 基于红黑树(平衡二叉搜索树) 阅读全文
posted @ 2025-09-12 14:13 一亩食堂 阅读(26) 评论(0) 推荐(0)
摘要: C++ - STL - 字典 map 键值对 map map用于存储键值对(key-value)数据,其内部基于红黑树实现自动排序功能 ‌有序存储‌: 元素默认按键的升序排列,可通过自定义比较函数修改排序规则 键唯一性‌: 每个键在容器中只能出现一次,重复插入会覆盖原有值 平衡二叉树‌: 采用红黑树结构保证O(log n)时间复杂度的基 阅读全文
posted @ 2025-09-12 14:11 一亩食堂 阅读(24) 评论(0) 推荐(0)
摘要: C++ - STL - 概述 关于STL…… 不能说他陌生,因为我们一直在用。比如string,sort,都是stl里的内容。 但是呢,可能刚开始学算法的时候不会那么早接触。 呃……也看老师的风格。 反正我为了让学生更好地理解算法的基本原理,除了string,其他都是很晚才讲的。用到栈和队列的时候,会要求用struct自己手搓一 阅读全文
posted @ 2025-09-12 10:54 一亩食堂 阅读(25) 评论(0) 推荐(0)