STL
努力的老周
一个老码农,中年大叔。打过工,做过老板。
现有神兽一枚,努力培养神兽中。
展开
-
STL使用笔记系列 —— vector
vector一维数组假设数组的行为 nnn,数组名字为 f。定义//定义 n 行数组,并初始化为 0vector<vector<int>> f(n, 0);获取行int n=f.size();//获取行动态修改大小假设新的大小为 n1n1n1。f.resize(n1);//将大小修改为 n1f.resize(n1, 100);//将大小修改为 n1,并设置值为 100获取值int val=f[x];遍历下标遍历for (int i=0; i&l原创 2021-10-11 10:54:26 · 215 阅读 · 0 评论 -
O(1) 复杂度支持任意位置删除的 priority_queue 实现
问题由来我们知道priority_queue 内部缺省是使用 vector 来实现的,而 vector 是不支持任意位置删除,只能通过迭代器删除。如果我们要实现 O(1) 复杂度,支持任意位置删除,该怎么办?思路priority_queue 只能删除顶部(top)。我们可以利用这个特性,保存两个priority_queue,一个是数据,一个是待删除数据,当两个priority_queue 的 top() 元素相同的时候,我们再删除两个优先队列的 top。实现升序优先队列实现代码...原创 2020-06-16 19:22:54 · 6717 阅读 · 4 评论 -
STL priority_queue 的基本用法
priority_queue 基本介绍priority_queue 是 STL queue 中一部分。普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。priority_queue 和 queue 不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队。优先队列具有队列的所有特性,包括队列的基本原创 2020-06-16 14:29:26 · 434 阅读 · 1 评论 -
STL list中remove()使用
问题描述今天在使用 STL list 的 remove() 函数时候出现了一个错误。相关代码如下:typedef struct _POS { int x; int y;} POS;list<POS> avail;avail.push_back(...);....avail.remove(next); //这里编译错误出现的错误信息如下:...原创 2020-03-09 15:55:07 · 3189 阅读 · 1 评论 -
基于STL的二分查找——upper_bound函数
概述C++ STL提供了标准二分查找相关实现。如下图所示,来自http://www.cplusplus.com/reference/algorithm/。对应的函数功能如下表函数名 函数作用 binary_search 在指定的范围内,使用二分查找某个值 lower_bound 在指定的范围内,使用二分查找某个值的左下界 upper_bound ...原创 2020-02-16 19:06:24 · 688 阅读 · 0 评论 -
基于STL的二分查找——lower_bound函数
概述C++ STL提供了标准二分查找相关实现。如下图所示,来自http://www.cplusplus.com/reference/algorithm/。对应的函数功能如下表函数名 函数作用 binary_search 在指定的范围内,使用二分查找某个值 lower_bound 在指定的范围内,使用二分查找某个值的左下界 upper_bound ...原创 2020-02-16 19:01:15 · 787 阅读 · 0 评论 -
基于STL的二分查找——binary_search函数
概述C++ STL提供了标准二分查找相关实现。如下图所示,来自http://www.cplusplus.com/reference/algorithm/。对应的函数功能如下表函数名 函数作用 binary_search 在指定的范围内,使用二分查找某个值 lower_bound 在指定的范围内,使用二分查找某个值的左下界 upper_bound ...原创 2020-02-16 18:48:47 · 2083 阅读 · 0 评论 -
排序——基于C++ STL的排序
概述前面我们介绍了十种排序算法。在实际使用中,我们需要在每道 OI 题目中完成排序算法的具体实现。C++提供了 STL(标准模板库),在这个模板库中,已经提供了排序相关函数。如下图所示。下面我们介绍一下 STL 库的 sort()函数使用方法。STL sort底层实现STL中的sort不是普通的快排,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级...原创 2020-02-11 20:42:57 · 5297 阅读 · 0 评论