向量類
在使用數組來存儲字符串和數字的時候,有一個嚴重的局限性:數組大小在聲明時已經確定。而向量的功能如同可變數組,即向量的大小相比於數組可以動態地增長。在使用向量前,首先要導入<vector>頭文件。
創建向量
創建向量的語法如下:
vector<elementType> vectorName; //如創建一個int類型的向量 //vector<int> intVector; //創建一個string類型的向量 //vector<string> stringVector;
向量類的幾種常用函數
函數 | 描述 |
vector<elementType>() |
用指定的元素類型創建一個空向量 |
vector<elementType>(int size) |
創建初始大小的向量,元素值為缺省值 |
vector<elementType>(int size, elementType defaultValue) |
創建初始大小的向量,元素值為給定值 |
void push_back(elementType element) |
追加一個元素到向量 |
void pop_back() |
刪除向量的最后一個元素 |
unsigned const size() |
返回向量中元素的個數 |
elementType const at(int index) |
返回指定位置的元素 |
bool const empty() |
如果向量為空返回真 |
void clear() |
刪除向量中所有元素 |
void swap(vector v) |
交換此向量與另一個向量v的內容 |
如創建一個大小為10,默認值為1的int類型向量:
vector<int> intVector(10, 1);
訪問向量的元素也可以用下標運算符[],如打印向量的第一個元素:
cout << intVector[0] << endl;
向量和數組的比較
操作 | 數組 | 向量 |
創建 | string str[10] | vector<string> v |
訪問 | str[index] | v[index] |
更新 | str[index] = "C++" | v[index] = "C++" |
返回大小 | v.size() | |
追加新元素 | v.push_back("C") | |
刪除最后的元素 | v.pop_back() | |
刪除所有的元素 | v.clear() |