常用容器的操作

来源:互联网 发布:索尼电视怎么样 知乎 编辑:程序博客网 时间:2024/06/05 19:24

一 顺序容器类型

顺序容器

vector  支持快速随机访问  list 支持快速插入和删除  deque双端队列

顺序容器适配器

stack 栈 queue 先进先出队列 priority_queue有优先级管理的队列

 

1.顺序容器操作

构造函数:

C<T> c;C c(c2); C c(b,e)

 

begin和end操作

c.begin();     c.end()指向最后一个元素的下一个位置;   c.rbegin()最后一个元素;    c.rend()第一个元素的前一个位置

 

添加元素操作

c.push_back(t);   c.push_front(t);  c.insert(p,t)p为迭代器;

 

关系操作

<     >    ==   !=

 

容器大小操作

c.size();  c.max_size();  c.empty;  c.resize(n);

 

访问操作

c.back(); c.front; c[n]; c.at(n);后两个只适用于vector和deque

 

删除

c.erase(p); c.clear(); c.pop_back();c.pop_front()后两个只适用于list 或deque

 

赋值与swap

c1=c2; c1.swap(c2); c.assign(b,e);

 

注意:vector不支持push_front()操作,原因是STL只采用高效的方法,而vector如果用push_front效率太低。

 

二 关联容器

map类定义的类型

map<k,v>::key_type    map<k,v>::mapped_type   map<k,v>::value_type

构造函数同上

 

关系运算同上

 

begin和end操作同上

 

赋值与swap操作,没有assign

 

clear erase 操作

 

map::insert(e)  map::insert(beg, end) map::(iter,e)

 

map::count(k)   map::find(k)

 

说明:set不支持下标操作,而且没有mapped_type类型

 

 

 

 

 

 

 

原创粉丝点击