STL不同容器的函数

vector:(动态数组)

1、c.size()

2、c.max_size

3、c.capacity()

4、c.resize(n):扩大容量为n

5、c.assign(n,e):将元素e的n个拷贝赋值给c

6、c1.swap(c2)同swap(c1,c2):交换c1,c2中元素

7、front():返回第一个元素

8、back():返回最后一个元素

9、begin():返回一个迭代器,指向第一个元素

10、begin():返回一个迭代器,指向最后一个元素之后

list:(链表:指针,在内存中不连续)

  1. c.unique:移除重复元素,只留下一个
  2. c.unique(op):移除使op()结果为true的重复元素
  3. c1.splice(pos,c2):将c2内的所有元素转移到c1的迭代器pos之前
  4. c1.splice(pos,c2,c2pos):将c2内c2pos所指元素转移到c1内的pos之前
  5. c1.splice(pos,c2,c2beg,c2end):将c2内[c2beg;c2end]区间内所有元素转移到c2的pos之前
  6. c.sort()以operator<:为准则对所有元素排序
  7. c.sort(op):以op为准则对所有元素排序
  8. c1.merge(c2):假设c1和c2都已排序,将c2全部元素转移到c1并保证合并后list仍为已排序
  9. c.reverse():将所有元素反序

stack:(栈:一端封闭)

(后进先出(LIFO))
– #include <stack>
  1. empty() -- 返回bool型,表示栈内是否为空 (s.empty() )
  2. size() -- 返回栈内元素个数 (s.size() )
  3.  push(value)-将元素压栈
  4. top()-返回栈顶元素,但不移除
  5. pop()-从栈中移除栈顶元素,但不返回

 deque:(也是一个动态的数组)

,不过两端都可以添加元素,不

过向中间添加元素时耗时比较多,因为要移动元素。用法语
vector类似。

– #include<deque>

集合容器:set

使用时注意包含头文件<set>    std::set and std::multiset associative containers

s.begin()      返回set容器的第一个元素
s.end()    返回set容器的最后一个元素
s.clear()           删除set容器中的所有的元素

s.empty()   判断set容器是否为空

s.count(i)        返回集合中i的个数

s.insert()          插入一个元素
s.erase()           删除一个元素
s.size()    返回当前set容器中的元素个数

猜你喜欢

转载自blog.csdn.net/wangqianqianya/article/details/79826709