
C/C++
这个作者一点也不懒,但什么都没留下…
果光
此人一点也不懒,但是什么都没有写
展开
-
C++ String(字符串)
简介在C语言中,一般使用字符数组char str[]来存放字符串,但是操作麻烦,容易出错。C++在STL中加入了string类型,对字符串常用的需求功能进行了封装,使得操作起来更加方便,且不必担心内存是否足够、字符串的长度等问题。注:本文章只列举 string 在 ACM 中的常用操作,如需了解更多有关 string 的内容,请参考 C++官方文档String 的基本用法头文件 #incl...原创 2020-02-21 12:30:45 · 1253 阅读 · 0 评论 -
C++ Set(集合)
简介set 是一个内部自动有序且不含重复元素的容器。set 最主要的作用就是自动去重并按升序排序,适用于需要去重但是又不方便直接开数组的情况。set 中的元素是唯一的,其内部采用“红黑树”实现。注:本文章只列举 set 在 ACM 中的常见操作,如需了解更多有关 set 内容,请参考 C++官方文档Set 的基本用法头文件 #include <set>需要使用 std...原创 2020-02-19 13:35:55 · 9313 阅读 · 1 评论 -
C++ priority_queue (优先队列)
简介优先队列底层采用“堆”进行实现。在优先队列中,任何时刻队首元素一定是当前队列中优先级最高的元素。优先级最高的元素可能是最大的(大根堆),也可能是最小的(小根堆)。可以不断往优先队列中添加某个优先级的元素,也可以不断弹出优先级最高的那个元素,每次操作其会自动调整结构, 始终保证队首元素的优先级最高。优先队列可以用来解决一些贪心问题。常用用法头文件 #include <q...原创 2020-02-13 13:07:50 · 1195 阅读 · 0 评论 -
C++ Map(映射)
简介map 是一种 关联容器,容器中的每个元素都由 关键字 (key) 和 值 (value) 两部分组成,且每个元素的关键字不允许相同map 中每个元素都按关键字 (key) 排序,容器中的元素始终遵循严格的顺序,所有插入的元素都按此顺序指定一个位置。map 内部是用红黑树 (一种自平衡二叉查找树) 实现的容器使用分配器对象动态处理其存储需求。map 可以在 O(log n) 时间...原创 2020-01-14 22:43:09 · 2922 阅读 · 0 评论 -
C++ Vector (动态数组)
简介向量(Vector)是一个封装了动态大小数组的顺序容器。向量是一个能够存放任意类型的动态数组。C++ 中 Vector 的使用头文件 #include <vector>需要使用 std 命名空间 using namespace std;...原创 2020-01-09 20:25:11 · 6310 阅读 · 2 评论 -
C++ Queue (队列)
简介队列 (queue) 是一种先进先出 (FIFO,First Input First Output) 的数据类型只能在队列的末尾添加新元素,只能从队列头部移除元素。不可以遍历队列中元素常用在 BFS (广度优先搜索) 中C++ STL中的队列头文件 #include <queue>需要使用 std 命名空间 using namespace std;说...原创 2020-01-08 19:15:06 · 2196 阅读 · 0 评论 -
C/C++ Stack (栈)
简介利用一组地址连续的存储单元依次自栈底到栈顶存放栈的数据元素可以解决一些顺序问题或括号匹配问题相关题目: 大一寒假训练七(栈)2020.01.06数组模拟栈在数组上实现时,栈底位置可以设置在数组的任一个端点,而栈顶是随着插入和删除而变化的,可以用一个整形变量 top 存放栈顶的指针,数据入栈或出栈时使整形变量 top 分别加1或减1。Code注意:部分题目 top-- 之前...原创 2020-01-08 13:59:26 · 1923 阅读 · 0 评论