stl

Stl

Vector(变长数组,动态,倍增)

String   \\字符串  substr()   返回某一个字符串, c_str()  返回对应字符数组的头指针  size()   clear()

queue   \\队列 push() 队尾插入  front()  返回队头元素 back() 返回队尾元素 pop() 队头弹出   size()   没有clear()

         

priority_quueu  \\ 优先队列 堆默认大根堆  push()  向堆中插入  top()  返回堆顶元素  pop() 堆顶弹出  没有clear()

          #include<queue>

         

stack    \\ 栈  push() 插入  top()  返回栈顶元素  pop() 栈顶弹出  没有clear()    empty()  size()

deque   \\双端队列   对头队尾都可以插入删除,加强版的vector

         empty()  size()   有clear()

         front() 返回第一个元素   back() 返回最后一个元素

         push_back() 向最后插入一个元素  pop_back()  弹出最后一个元素

         push_front() 向对头插入一个元素  pop_front()  弹出第一个元素

         支持随机循取    缺点就是速度慢   begin()   end()

set  map  multiset  multimap   \\基于平衡二叉树(红黑树)动态维护有序序列

    set 不能有重复元素

multiset  可以有重复元素

支持 insert()插入  empty()  clear()   size()  find() 查找一个数

count()  返回一个数的个数

erase() 输入一个数,删除所以这个数  输入一个迭代器,删除这个  迭代器(看作一个指针)

lower_bound(x)   返回大于等于x的最小的数

upper_bound(x)   返回大于x的最小的数

map  multimap

      empty()  size()   有clear()

          begin()   end()   支持++  --   find() 查找一个数

      支持 insert()输入的参数是pair    

erase()输入的参数是pair和迭代器

可以像数组一样用map   O(logn)   初始化

 

lower_bound(x)  upper_bound(x)  

 

 

 

unordered_set  unordered_map  unordered_multiset    unordered_multimap // 哈希表   和上面类似    好处增删改查O(l) 不支持++--  排序

不支持 lower_bound(x)  upper_bound(x)  

bitset    \\ 压位

vector

定义一个vector

  1. Vector<类型>标识符
  2. Vector<类型>标识符(最大容量)
  3. Vector<类型>标识符(最大容量,初始所有值)

 

Vector<int>::iterator   =   auto 自动推断类型

String

size();

empty();

clear();

 

第二个很大,直接输出到最后一个,或者省略第二个

 

 

posted @ 2022-10-24 10:45  焦糖玛奇果  阅读(117)  评论(0)    收藏  举报