STL总结

1.stack 只有一个口,先进去的反而最后出来,有点像堆叠东西,只有把上面的取下来才能取最底下的。

定义:stack<data_type>v;date_type是元素的类型可以是int,也可以自己定义,多数自己定义

基本的用法:v.push(a);推入栈一个元;v.pop();移除栈顶元素;v.top()返回栈顶元素,而不移除;v.empty()返回bool类型判断栈是否是空的;v.size()返回栈里元素的个数;

2.queue是两个出口,从低端进入,从顶端出去,而priority_queue却跟他有些不同,queue是进去什么顺序出来什么顺序,而priority_queue却是在里面进行了筛选,先出来大的,所以priority_queue比较常用

priority_queue定义时可以重载小于号特别好用

基本用法:priority_queue和stack基本用法差不多,queue多了v.front()是返回第一个元素;v.back()是返回最后一个元素

3.vector比平常的数组好用的地方就是可以自动调大小,加了元素数组就大一下,删去就小一下,而且跟平常的数组一样可以随便调用任意一个元素v[i]

基本用法:v.push_back(a)从尾端插入;v.pop_back()尾端元素删除

4.set就是默认从小到大排列的集合它和multiset的区别就是set不能有相同的元素当然定义的时候也可以重载小于号

定义迭代器set<date_type>::iterator it;迭代器跟指针差不多,定义迭代器指向第一个位置v.begin(),v.end()是最后一个元素的下一个位置

基本用法:v.insert()插入元素;v.erase(地址)删除元素没有返回值;v.erase(元素)返回跟该元素大小相等的元素各个书并删除;v.clear()清空集合;v.find(元素)返回元素的地址,没有找到就返回v.end();v.count(元素)返回元素的个数;v.lower_bound(元素)返回大于等于元素的第一个位置;v.upper_bound(元素)返回大于元素的第一个位置;这两个结合着用可以算出该元素的个数;

5.map是由键值和映照数据组成的,键值和映照数据之间是一一对应关系,默认排序是 键值从小打大排列,关键字可以是string,也可以是int类型,map中不可以有重复的,但是multimap中可以有,也可以自己定义数据类型,映照数据也是一样

定义map<string,int>v;

基本用法:v.insert(make_pari(a,b));插入元素;v[28]=add直接元素存取;v.find(键值 )返回地址,否则返回v.end();v.erase(键值)删除并返回个数;v.erase(地址)删除;v.clear()把容器里的元素清空;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值