c++ STL 常用知识

本文记录一些个人在答PAT题目时常用的C++ STL知识;


1.stack(栈)使用示例

//1.新建
stack<int> a;
//2.判断空,返回false,true
a.empty()
//3.入栈
a.push(x);
//4.出栈(先进后出),无返回值!
a.pop()
//5.获取栈顶元素
a.top()
//6.获取栈的长度(元素个数)
a.size()

2.pair使用示例

//1.新建
pair<first的类型,second的类型> 变量名(初始值1,初始值2);
pair<int,int> a(x,y);
//2.赋值
a.first=...; //a为指针,则.改为->
a.second=..;
//或
a={..,...}

3.map(键值对)使用示例

//1.新建
map<键的类型,值的类型> 变量名;
map<int,int> a;
//2.赋值
a.[某个键]=值;
//3.排序:通过将map转换为vector<pair<..,..>>,对vector排序
//4.遍历
for(auto it=a.begin();it!=a.end();it++)
it->first//键
it->second//值
//5.判断某个键是否存在
w.count(key)==0//0就是不存在

4.quene(队列)使用示例

//1.新建
quene<int> a;
//2.取队首
num=a.front();
//3.入队
a.push(num);
//4.出队(先进先出),vector的pop_back是先进后出!!!
a.pop();
//5.大小
a.size();
//6.判断空
a.empty():

5.set(集合)使用示例

//1.新建
set<int> a;
set<int> a(b.begin(),b.end());//整体赋值加初始化,可以利用这个把vector转set
//2.增加元素
a.insert(b);
//3.删除元素
a.erase(b)//b可以是一个值也是是迭代器指针
//4.大小
a.size();
//5.空
a.empty;

6.vector(数组)使用示例

//1.新建
vector<int> a={/*初始值*/};
vector<int> a(b.begin(),b.end());//整体赋值加初始化
//2.增加元素
a.push_back(); //在队尾加元素
a.insert(it,x);//插入单个元素:在迭代器指针it指定的地方插入元素x
a.insert(it,it1,it2);//插入一段元素:在it位置插入it1-it2的一段元素
//3.删除元素
a.pop();//删除队尾
a.erase(a.begin()+1,a.begin()+3); //删除a中第1个(从第0个算起)到第2个元素
//4.大小
a.size();
//5.空
a.empty();
//6.整体赋值
a.assign(b.begin(),b.end());
//7.清空
a.clear();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值