STL库总结

STL

STL有很多已经封装好的函数,可以有效方便一些算法的实现,本文依次总结一下几种函数及用法
1.stack
2.queue

  • priority_queue
  • deque

3.map

  • unorder_map

4.set

  • multiset 序列中的数是有序的,且可以存在重复的数

    multiset<int>q;
      q.erase(it); //删除迭代器it指向的元素 
      q.insert(x);//插入x 
      q.clear();//清空
      q.erase(x);//删除所有值为 x 的数 
      q.empty();///容器为空返回true,否则返回false 
      q.size()//元素个数
    
      以下和迭代器有关
      q.begin();//首个元素的迭代器 
      q.end();//最后一个元素的下一个位置的迭代器 
      q.count(x);//容器中 x 的个数 
      q.find(x);//容器中第一个x的位置(迭代器),如果没有就返回q.end() 
      q.erase(it); //删除迭代器it指向的元素 
      q.lower_bound(x);//第一个大于等于x的数的迭代器
      q.upper_bound(x);//第一个大于x的数的迭代器
    

5.vector
6.pair
一个二元组,sort排序时默认第一个优先

int a,b;
pair<int,int> q;  
q={a,b}

7.string

8.bitset


bitset<n>t; // 使t成为一个有n位二进制的数
__builtin_popcount(n)//告诉我们n的二进制数有多少个1

转化
string s="101001"
bitset<49>t;
t=bitset<49>(s);

posted @ 2024-11-25 17:12  归游  阅读(0)  评论(0编辑  收藏  举报