C++ STL 使用说明

  • map迭代元素除了迭代器还有什么方法?
名称简介
vector变长数组
map映射
stack
queue队列
priority_queue优先队列
vector

vector 定义:vector<typename> vi;
访问:既可以通过下标访问,也可以通过迭代器访问,之所以需要引入迭代器,一方面也是由于有些函数需要传入迭代器作为参数

具体以整型为例:

  1. 声明: vector<int> a;
  2. vector初始化的时候希望内部有多个元素
    int a[3] = {1,2,3};
    vector<int> v(a, a+sizeof(a)/sizeof(a[0]));
    
  3. 迭代器声明:vector<int>::iterator it;
  4. 迭代器初始化: it = a.begin();
  5. 输出迭代器所指的元素 printf("%d",*it);
    (a[i] 等价于 *(it.begin()+i))

常用方法:

  1. push_back(int x)
  2. pop_back()
  3. size()
  4. clear()
  5. insert(iterator it, int x)
  6. erase(iterator it)
  7. erase(begin, end)
map

跟最简单的映射—数组相比,map扩展了数组的功能,因为数组只能实现int到其他类型的映射,而map可以实现任何类型映射到任何类型。

  • map定义:map<typename1, typename2> mp;
  • map增加元素:mp[key] = value;
  • 迭代器定义:map<typename1,typename2>::iterator it;
  • 迭代器访问key:it->first;
  • 迭代器访问value:it->second;

常用方法:

  1. find(key);
  2. erase();
  3. erase(begin, end);
  4. size();
  5. clear()
priority_queue

优先队列,用堆实现队首元素总是当前队列中优先级最高的那个

#include<queue>
priority_queue<int> q;

priority_queue 只能访问队首元素:top(),不能像queue一样访问队尾元素。

常用方法:

  1. push()
  2. top()
  3. pop()
  4. empty()
  5. size()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值