核心:Vector 是 STL 裏的一個向量容器,能夠像數組那樣進行隨機訪問,能在尾部插入元素,對於元素的刪除和插入能夠動態管理內存.數組
頭文件: #include <vector>函數
構造函數:spa
vector<int> v; //構造一個存儲 int 型變量的 vector vector<int> v(n, value) //構造一個初始含有 n 個 value 的 vector vector<int> v1(v2) //構造一個vector v1拷貝 v2 內的值 vector<int> v(begin(), end()) //構造一個 vector 從迭代器[ begin(), end() ) 拷貝而來
經常使用函數:code
v.at(pos) //即 v[pos], 可是不會訪問到越界元素 v.back() //返回 v 最末尾元素的引用 v.front() //返回 v 起始元素的引用 v.pop_back() //刪除當前 v 末尾的元素 v.push_back(value) //添加 value 到 v 的末尾 vector<int> v(5, 42) //則 v.front() = 0 v.back() = 4 v.begin() //返回指向 v 起始元素的迭代器 v.end() //返回指向 v 末尾元素下一個位置的迭代器, 訪問最後一個元素,則須要自減1 v.clear() //刪除當前 v 內的全部元素 v.empty() //判斷 v 內是否有元素 v.erase(it) //刪除指定位置(迭代器) 元素的值 v.erase(st, ed) //刪除區間(迭代器)[st, ed)內的全部元素 v.insert(it, value) //在指定位置(迭代器)前插入一個元素 value v.insert(it, n, value) //在指定位置(迭代器)前插入 n 個值爲 value 的元素 v.insert(it, st, ed) //在指定位置(迭代器)前插入迭代器[st, ed) 之間的元素 v.max_size() //返回 v 可容納元素的最大數值 v1.swap(v2) //交換兩個 vector
經常使用運算:blog
vector<int> v1, v2; v1 == v2 //具備相同的元素, 相同的容量 v1 != v2 v1 <= v2 //按照字典序比較 v1 >= v2 v1 < v2 v1 > v2 v[] //訪問某個特定的值