常用容器的操作

一 顺序容器类型

顺序容器

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类型

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值