常用STL的常见用法
//#pragma comment(linker, "/STACK:1024000000,1024000000")
//#pragma GCC optimize(2)
//#include <bits/stdc++.h>
#include<unordered_map>
#include<unordered_set>
#include <algorithm>
#include <iostream>
#include<fstream>
#include<sstream>
#include<iterator>
#include<cstring>
#include<string>
#include<cmath>
#include<cstdio>
#include<cctype>
#include<vector>
#include<deque>
#include<queue>
#include<stack>
#include<map>
#include<list>
#include<set> //freopen("C:\\Users\\CAI\\Desktop\\Test\\in.txt", "r", stdin);
//freopen("C:\\Users\\CAI\\Desktop\\Test\\out.txt", "w", stdout);
//freopen("C:\\Users\\CAI\\Desktop\\Test\\tout.txt", "w", stdout); using namespace std;
typedef double dou;
typedef long long ll;
typedef pair<int, int> pii;
typedef map<int, int> mii; #define pai acos(-1.0)
#define M 1000500
#define inf 0x3f3f3f3f
#define mod 1000000007
#define IN inline
#define W(a) while(a)
#define lowbit(a) a&(-a)
#define left k<<1
#define right k<<1|1
#define lson L, mid, left
#define rson mid + 1, R, right
#define ms(a,b) memset(a,b,sizeof(a))
#define Abs(a) (a ^ (a >> 31)) - (a >> 31)
#define random(a,b) (rand()%(b+1-a)+a)
#define false_stdio ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) int main() {
false_stdio; return ; }
//string常用
void String()
{
string str;
str.substr(起点下标,长度(包含起点))//复制子串
str.resize(长度, 填充);//重新设置大小
str.empty();//检查是否为空,空则返回true
str.size();//获取字符串大小
str.find(字符或字符串, 起点下标)//找到返回匹配的第一个字符的下标,找不到则返回string::npos
str.insert(str.begin(),字符串或字符串) //插入字符串在起点前面
} //map常用
void Map_()
{
map<typedef, typedef>Map;
Map.erase(key);//删除key的元素
Map.count(元素);//如果有该元素则返回1,没有则返回0,没有则返回map.end()
Map.find(元素);//返回该元素下标,没有则返回map.end()
iter->first;//代表key
iter->second;//代表元素
} //vector常用
void Vector_()
{
vector<int>num;
num.push_back();//添加到尾部
num.erase(num.begin(), num.begin()+n);//删除0~n-1
num.insert(num.begin() + id, x);//插入x在i第id位的前面
num.clear();//清空
} //queue常用
void queue_()
{
queue<int>num;
num.push();//添加到队尾
num.pop();//弹出队头
num.front();//返回队头元素
num.back();//返回队尾元素
num.empty();////检查是否为空,空则返回true
} //Set常用
void Set()
{
set<int>num;
num.upper_bound();//返回大于某个值元素的迭代器
num.lower_bound();// 返回指向大于(或等于)某值的第一个元素的迭代器
num.insert();// 在集合中插入元素
num.find();// 返回一个指向被查找到元素的迭代器
} void priority_queue_() {
struct Data {
int a, b;
//重载小于号
bool operator <(const Data& t)const {
return a < t.a;//降序
return a > t.a;//升序
}
};
priority_queue<Data, vector<Data>, less<Data>>num;//最大堆
priority_queue<Data, vector<Data>, greater<Data>>num;//最小堆
} void Daily()
{
abs();//整数求绝对值
fabs();//浮点数求绝对值 reverse(num.begin(), num.end());//反转字符串或者数组
vector<int>::iterator iter = num.begin();//迭代器 //字符串转换和串流的反复利用
int num;
string str;
stringstream ss;
ss << str;
ss >> num;
ss.str("");
ss.clear();
}
常用STL的常见用法的更多相关文章
- STL stack 常见用法详解
<算法笔记>学习笔记 stack 常见用法详解 stack翻译为栈,是STL中实现的一个后进先出的容器.' 1.stack的定义 //要使用stack,应先添加头文件#include &l ...
- STL priority_queue 常见用法详解
<算法笔记>学习笔记 priority_queue 常见用法详解 //priority_queue又称优先队列,其底层时用堆来实现的. //在优先队列中,队首元素一定是当前队列中优先级最高 ...
- STL map 常见用法详解
<算法笔记>学习笔记 map 常见用法详解 map翻译为映射,也是常用的STL容器 map可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器) 1. map 的定义 / ...
- STL set 常见用法详解
<算法笔记>学习笔记 set 常见用法详解 set是一个内部自动有序且不含重复元素的容器 1. set 的定义 //单独定义一个set set<typename> name: ...
- STL vector常见用法详解
<算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, do ...
- STL pair 常见用法详解
<算法笔记>学习笔记 pair 常见用法详解 //pair是一个很实用的"小玩意",当想要将两个元素绑在一起作为一个合成元素, //又不想因此定义结构体时,使用pair ...
- STL queue 常见用法详解
<算法笔记>学习笔记 queue 常见用法详解 queue翻译为队列,在STL中主要则是实现了一个先进先出的容器. 1. queue 的定义 //要使用queue,应先添加头文件#incl ...
- STL string 常见用法详解
string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...
- C++标准模板库(STL)——queue常见用法详解
queue的定义 queue<typename> name; queue容器内元素的访问 由于队列本身就是一种先进先出的限制性数据结构,因此在STL中只能通过front()来访问队首元素, ...
随机推荐
- 关于springmvc的消息转换器
之前有用到消息转换器,一直是配置configureMessageConverters()这个方法的,虽然知道也有extendMessageConverters().它们的区别的是第一个不会继承框架默认 ...
- B. The Number of Products(Codeforces Round #585 (Div. 2))
本题地址: https://codeforces.com/contest/1215/problem/B 本场比赛A题题解:https://www.cnblogs.com/liyexin/p/11535 ...
- UVA - 1614 Hell on the Markets(奇怪的股市)(贪心)
题意:输入一个长度为n(n<=100000)的序列a,满足1<=ai<=i,要求确定每个数的正负号,使得所有数的总和为0. 分析: 1.若总和为0,则未加符号之前,所有数之和必为偶数 ...
- 大二暑假第五周总结--开始学习Hadoop基础(四)
简单学习MapReduce并进行WordCount实践 分布式并行编程: MapReduce设计的一个理念就是“计算向数据靠拢”,将复杂的,运行于大规模集群上的并行计算过程高度地抽象到两个函数:Map ...
- 【分类问题中模型的性能度量(二)】超强整理,超详细解析,一文彻底搞懂ROC、AUC
文章目录 1.背景 2.ROC曲线 2.1 ROC名称溯源(选看) 2.2 ROC曲线的绘制 3.AUC(Area Under ROC Curve) 3.1 AUC来历 3.2 AUC几何意义 3.3 ...
- SQL的查询结果复制到Excel 带标题Head 有换行符导致换行错乱 的解决方案
将SQL查询到的结果保存为excel有很多方法,其中最简单的就是直接复制粘贴了 1.带Head的复制粘贴 1)先左击红色区域实现选择所有数据 2)随后右击选择Copy with Headers 再粘 ...
- 网络寻路(DFS)
Description X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一 ...
- POJ 1080:Human Gene Functions LCS经典DP
Human Gene Functions Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 18007 Accepted: ...
- openstack trove 数据库镜像构建列表
文件位置:/trove/integration/scripts/files/elements ubuntu@ubuntu:~/Downloads/trove/integration/scripts/f ...
- HTML5新标签使用及CSS选择器(伪类)
这些标签能够让搜索引擎更直接的解析页面内容. <header></header>语义:文档或者页面的头部 <nav></nav>语义:导航这两者不是组合 ...