標(biāo)準(zhǔn)模板庫(kù)-vector
1. vector
簡(jiǎn)介
-
vector
為C++的STL中的模板數(shù)組容器。在使用時(shí)需要包含#include <vector>
頭文件器净。這里主要記錄一下vector
的各種內(nèi)置方法问慎,以備忘記時(shí)查找方便萍摊。
2. vector
構(gòu)造方法
vector v1; // 創(chuàng)建一個(gè)空的vector
vector v2(v1); // 復(fù)制一個(gè)vector
vector v3(n); // 創(chuàng)建一個(gè)含n個(gè)元素的vector,
vector v4(n, 1); // 創(chuàng)建一個(gè)含n個(gè)1的vector
// 使用數(shù)組初始化
int a[] = {0, 1, 2};
vector<int> v5(a, a+2);
3. vector
大小方法
-
int size() const
: 返回vector
中元素個(gè)數(shù) -
int capacity() const
: 返回vector
中所能容納最大元素個(gè)數(shù) -
int max_size() const
: 返回vector
中最大可允許的元素個(gè)數(shù) -
resize(n)
: 重新指定vector
長(zhǎng)度 -
reverse()
: 保留適當(dāng)?shù)娜萘?/li>
4. vector
添加方法
void push_back(x): 向尾部添加x
iterator insert(iterator it, const T& x): // 向迭代器it指向元素前添加x
iterator insert(iterator it, int n, const T& x): // 向迭代器it指向元素前添加n個(gè)x
iterator insert(iterator it, const_iterator first, const_iterator second): // 向迭代器指向元素前插入另一段元素
void assign(int pos, const T& x); // 置第pos位置元素為x
void assign(const_iterator begin, const_iterator end); // 將該段區(qū)間內(nèi)元素賦給vector
5. vector
獲取元素方法
reference at(int pos); // 返回pos位置的元素值
reference [int pos]; // 類似數(shù)組
reference front(); // 返回第一個(gè)元素
reference back(); // 返回最后一個(gè)元素
iterator begin(); // 返回指向第一個(gè)元素的迭代器指針
iterator end(); // 返回指向最后一個(gè)元素的迭代器指針
reverse_iterator rbegin(); // 反向迭代器,指向最后一個(gè)元素
reverse_iterator rend();; // 反向迭代器如叼,指向第一個(gè)元素
6. vector
刪除元素方法
void pop_back(); // 刪除最后一個(gè)元素
void clear(); // 清空所有元素
iterator erase(iterator it); // 刪除指定元素并返回it指向的下一個(gè)迭代器
iterator erase(iterator begin, iterator end); // 刪除指定區(qū)間內(nèi)的元素
7. vector
其它方法
bool empty(); // 是否為空
v1.swap(vector v2); // 將`v1`與`v2`中的元素互換
下次記錄其它常用容器