`
fdyang
  • 浏览: 79692 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Return to the basic - 容器类(container),迭代器(Iterator)

 
阅读更多

标准模板库(STL) 的核心内容是3个基本组件: 容器,算法,迭代器.

 

容器是用来保存其他对象的对象.
  - STL 中定义了几种不同类型的容器. ( 如 vector 类定义了动态数组, list 定义了线性表。 map 关联容器(关键字和值))

 

每个容器类中定义了可以用于该容器的一系列算法. 算法作用于容器中的元素。 (初始化,排序,查找,修改等)

 

迭代器是一种类似于指针的对象。可以用迭代器来遍历容器中的元素。 STL 中定义了5中类型的迭代器:

 

 

Iterator Access Allowed
Input Retrieve, but not store values. Forward moving only.
Output  Store, but not retrieve values. Forward moving only.
Forward  Store and retrieve(获取) values. Forward moving only.
Bidirectional  Store and retrieve values. Forward and backward moving.
Random Access  Store and retrieve values. Elements may be accessed randomly.

 

容器类

1. vector 类用来支持动态数组.

//使用迭代器来访问vector对象中的元素.
vector<char>::iterator p=v.begin();
while(p!=v.end()){
 cout<<*p<<" ";
 p++;
}

//插入, 将10个字符X插入到对象v中.
v.insert(p,10,'X');

//删除
p=v.begin();
p+=2;
v.erase(p,p+10); //删除10个元素.

 

2. list 类定义双向的线性表.

 

3. map类定义了一个关联容器,并且在容器中使用唯一的关键字来映射相应的值。定义了一个关联容器,并且在容器中使用唯一的关键字来映射相应的值。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics