vector是c++標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。為了可以使用vector,必須在你的標頭檔案中包含下面的**:
#include
vector屬於std命名域的,因此需要通過命名限定,如下完成你的**:
using std::vector; vectorv;
或者連在一起,使用全名:
std::vectorv;
建議使用全域性的命名域方式:
using namespace std;
1.vector的宣告
vectorc; 建立乙個空的vector
vectorc1(c2); 建立乙個vector c1,並用c2去初始化c1
vectorc(n) ; 建立乙個含有n個elemtype型別資料的vector;
vectorc(n,elem); 建立乙個含有n個elemtype型別資料的vector,並全部初始化為elem;
c.~vector(); 銷毀所有資料,釋放資源;
2.vector容器中常用的函式。(c為乙個容器物件)
c.push_back(elem); 在容器最後位置新增乙個元素elem
c.pop_back(); 刪除容器最後位置處的元素
c.at(index); 返回指定index位置處的元素
c.begin(); 返回指向容器最開始位置資料的指標
c.end(); 返回指向容器最後乙個資料單元的指標+1
c.front(); 返回容器最開始單元資料的引用
c.back(); 返回容器最後乙個資料的引用
c.max_size(); 返回容器的最大容量
c.size(); 返回當前容器中實際存放元素的個數
c.capacity(); 同c.size()
c.resize(); 重新設定vector的容量
c.reserve(); 同c.resize()
c.erase(p); 刪除指標p指向位置的資料,返回下指向下乙個資料位置的指標(迭代器)
c.erase(begin,end) 刪除begin,end區間的資料,返回指向下乙個資料位置的指標(迭代器)
c.clear(); 清除所有資料
c.rbegin(); 將vector反轉後的開始指標返回(其實就是原來的end-1)
c.rend(); 將vector反轉後的結束指標返回(其實就是原來的begin-1)
c.empty(); 判斷容器是否為空,若為空返回true,否則返回false
c1.swap(c2); 交換兩個容器中的資料
c.insert(p,elem); 在指標p指向的位置插入資料elem,返回指向elem位置的指標
c.insert(p,n,elem); 在位置p插入n個elem資料,無返回值
c.insert(p,begin,end) 在位置p插入在區間[begin,end)的資料,無返回值
3.vector中的操作
operator 如: c.[i];
同at()函式的作用相同,即取容器中的資料。
C STL中的容器 Vector
c stl中的verctor好比是c語言中的陣列,但是vector又具有陣列沒有的一些高階功能。與陣列相比,vector就是乙個可以不用再初始化就必須制定大小的邊長陣列,當然了,它還有許多高階功能。要想用vector首先得包含標頭檔案vector。如果vector的元素型別是int,預設初始化為0 ...
C STL中vector容器的用法
vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。為了可以使用vector,必須在你的標頭檔...
C STL 考點 容器(vector)
default 1 explicit vector const allocator type alloc allocator type fill 2 explicit vector size type n vector size type n,const value type val,const a...