STL的學習筆記之一 (轉)

worldblog發表於2007-12-04
STL的學習筆記之一 (轉)[@more@]

以下是我在自學STL的一點筆記,參考書籍《標準C++寶典》。大家如果誰也對最新的C++標準有興趣的話,想聊一聊,我的E-: 

#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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章