vector,map,stack,queue,优先队列的常用用法记录

1.vector<type>vr

vr.back(); //返回最后一个元素

vr.front(); //返回第一个元素

vr[i]; //返回第i个元素

vr.clear(); //清空

vr.empty(); //是否为空

vr.pop_back(); //删除a向量的最后一个元素

vr.erase(a.begin()+n,a.begin()+m); //删除的元素从n算起(包括它)一直到m(不包括它)

vr.push_back(n); //在vr的最后一个向量后插入一个元素,其值为n

vr.insert(a.begin()+i,5); //在vr的第i个元素(从第0个算起)的位置插入数值5

vr.insert(a.begin()+i,3,5); //在vr的第i个元素(从第0个算起)的位置插入3个数,其值都为5

(vr.insert(a.begin()+1,b+3,b+6); //b为数组,在a的第1个元素(从第0个算起)的位置插入b的第3个元素到第5个元素(不包括b+6),如b为1,2,3,4,5,9,8 ,插入元素后为1,4,5,9,2,3,4,5,9,8)

vr.size(); //元素个数;

2.map<key,value>mp;

mp.size()//元素个数

mp.empty()//是否为空

mp.clear()//清空

mp.begin()//返回mp中的min迭代器

mp.end()//返回mp中的max的后一个(相当于NULL)

mp.find(key)//找key返回iterator,若无,返回mp.end()‘O(logn)’

mp.erease(key)//删掉该key和其对应的value

3.stack<type>st;

st.top()//返回栈顶元素

st.push(constT&obj/T&&obj)//插入元素

st.pop()//弹出元素

st.size()//元素个数

st.empty()//是否为空

4.queue<type>q;

q.push(item)//入队

q.pop()//出队

q.front()//返回队首元素

q.size()//元素个数

q.empty()//是否为空

5.priority_queue<Type,Container,Functional>

(类型,容器‘默认vector’,比较方法)

例:

priority_queue<int>qq//默认大根堆,输出顺序由大到小

(等价于priority_queue<int,vector<int>,less<int>>qq)

priority_queue<int,vector<int>,greater<int>>qq//小根堆,输出顺序由小到大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值