STL的学习笔记之一

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

以下是我在自学STL的一点笔记,参考书籍《标准C++宝典》。大家如果谁也对最新的C++标准有兴趣的话,想聊一聊,我的E-MAIL: tlovexyj@21cn.com

#include <vector>

using namespace std;

向量类模板 vector

1.特点

优点: 随机访问、动态改变自身大小、快速地在序列尾部插入和删除元素

缺点: 在除头尾其它位置插入和删除元素效率降低(因为要移动元素以容纳新元素或回收被删除的空间)

2.声明

vector <数据类型> 对象名(大小, 初始值)

例:

vector <int> iVector(100, 0); //大小为100,类型为int,初始所有值为0.

3.访问

通过指示器 iterator(相当于C++里的指针)来操作.

声明

vector <数据类型>::iterator 对象名

例:

vector <int>::iterator iter;

4.访问

遍历:

for (iter=iVector.begin(); iter<iVector.end(); iter++);

//*iter即为向量iVector里各项的值

取随机值

iVector.at(下标);

5.插入元素(以下介绍都是vector类的成员函数)

push_back(元素) //在尾部插入

例:

iVector.push_back(3);

insert(iterator指针, 元素) //随机插入, iterator用来标明操作的位置

例:

vector <int>::iterator start;

iVector.insert(start, 1);

insert(iterator指针, 个数, 元素) //把元素的n份拷贝到向量中指针所指定的位置

例:

vector <int>::iterator start;

iVector.insert(start, 5, 1);

insert(iterator指针, iterator指针开始, iterator指针结尾) //将操作的范围内的值插入到指定位置

例:

vector <int>::iterator i, start, end;

i =iVector.begin();

start=iVector.begin()+2;

end =iVector.end()-3;

iVector.insert(i, start, end);

6.删除元素(以下介绍都是vector类的成员函数)

pop_back() //在尾部删除

例:

iVector.push_back();

erase(iterator指针) //随机删除

erase(iterator指针开始, iterator指针结尾)//删除范围内的值

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航