STL的基本操作

priority_queue 优先队列

//默认为大根堆,即对顶是最大的

  1. priority_queue < T > p 如果需要用自定义比较函数,需要写成:
    priority_queue<int, vector< T >, cmp > q 如:小根堆 priority_queue<int, vector, greater > q
  2. q.push()
  3. q.size()
  4. q.top()
    填坑…

set

//集合
使用好处:删除,查询比数组快

  1. s.begin() 返回set中第一个元素(迭代器,或者说指针)
  2. s.end() 最后一个的指针
  3. s.clear() 清空
  4. s.insert() 插入一个元素
  5. s.erase() 删除一个元素
  6. s.size() s.max_size()

map

//映射

  1. map< T1, T2> m T1 到 T2 类型的映射 ,T1 为关键字集合
    T2 为值集合

  2. 访问: 可以和数组一样访问,也可以用insert,如果访问的不存在,会新建一个,值为默认

  3. m.count() 判断是否存在映射,m.count ( T1类型 ) 如果映射过返回 1,否则 返回 0

  4. 每个迭代器的first 对应 key, second 对应 value

  5. clear()

  6. for(map< T1, T2> :: iterator it = m.begin(); it != m.end; it++) 遍历

vector

//不定长数组

  1. vector < 数据类型 > vec
  2. push.back(x) 在数组最后方插入新元素x
  3. size() 获取长度
  4. clear() 清楚全部
  5. 数组全部用法

stack

//堆栈:FILO 先进后出

  1. 一样的声明
  2. 入栈:s.push(x)
  3. 出栈 :s.pop() 不返回栈顶的,只是删除
  4. s.empty() 判断栈是否为空,若是,返回true
  5. s.size()

queue

单向队列,先进先出

  1. q.push(x) x到队的末端
  2. q.pop() 删除队首元素
  3. 访问队尾:q.back() 队首: q.front()
  4. 判断队非空:q.empty() 空,则返回false
  5. q.size()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值