STL用法随笔

 

这不是标题

这啥也没有

优先队列 priority_queue

普通定义 priority_queue<int> q; 出队顺序从大到小 不普通定义 priority_queue<int,vector<int>, greater<int> > q;出队顺序从小到大,同理还有less<>

自定义比较函数 懒得说

map

map<type1, type2>::find(); 返回的是 map<type1, type2>::iterator ,如果找到了就是指向该pair<type1, type2>的迭代器,没找到就是map::end()

插入:map<type1, type2>::insert(pair<type1, type2>), 或者m[val1] = val2;

vector

初始化

  • vector<int> v(5)定义一个size=5的vector,默认所有元素值为0
  • vector<int> v(5, 1)默认所有元素值为1
  • vector<int> v(arr, arr+len) 用一个已有的arr数组初始化

set

  • begin() 返回指向第一个元素的迭代器
  • clear() 清除所有元素
  • count() 返回某个值元素的个数
  • empty() 如果集合为空,返回true(真)
  • end() 返回指向最后一个元素之后的迭代器,不是最后一个元素
  • erase() 删除集合中的元素
  • find() 返回一个指向被查找到元素的迭代器
  • insert() 在集合中插入元素
  • max_size() 返回集合能容纳的元素的最大限值
  • size() 集合中元素的数目
  • swap() 交换两个集合变量