ITPub博客

首页 > IT职业 > IT生活 > STL的学习笔记之一 (转)

STL的学习笔记之一 (转)

原创 IT生活 作者:worldblog 时间:2007-12-04 13:14:31 0 删除 编辑
STL的学习笔记之一 (转)[@more@]

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

#include
using namespace std;
向量类模板 vector

1.特点
  优点: 随机访问、动态改变自身大小、快速地在序列尾部插入和删除元素
  缺点: 在除头尾其它位置插入和删除元素效率降低(因为要移动元素以容纳新元素或回收被删除的空间)

2.声明
  vector <数据类型> 对象名(大小, 初始值)
  例: 
  vector iVector(100, 0);  //大小为100,类型为int,初始所有值为0.

3.访问
  通过指示器 iterator(相当于C++里的指针)来操作.
  声明
  vector <数据类型>::iterator 对象名
  例:
  vector ::iterator iter;
 
4.访问
  遍历:
  for (iter=iVector.begin(); iter  //*iter即为向量iVector里各项的值
  取随机值
  iVector.at(下标);
 
5.插入元素(以下介绍都是vector类的成员函数)
  push_back(元素) //在尾部插入
  例:
  iVector.push_back(3);
 
  insert(iterator指针, 元素) //随机插入, iterator用来标明操作的位置
  例:
  vector ::iterator start;
  iVector.insert(start, 1);
 
  insert(iterator指针, 个数, 元素) //把元素的n份拷贝到向量中指针所指定的位置
  例:
  vector ::iterator start;
  iVector.insert(start, 5, 1);
 
  insert(iterator指针, iterator指针开始, iterator指针结尾) //将操作的范围内的值插入到指定位置
  例:
  vector ::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指针结尾)//删除范围内的值


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-988334/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2410111