一、基本介紹
vector是C++中的一個容器,提供對連續線性空間的元素快速訪問,可以動態增加和刪除元素。與C++中的數組有相似的操作方法,但是可以自動擴容,使其更加靈活。
#include <vector>
using namespace std;
vector<int> v; //聲明一個int型vector v
v.push_back(5); //將5添加到v的末尾
v.pop_back(); //刪除v末尾的元素
v.size(); //返回v包含元素的數量
其中,push_back()可以實現類似棧的操作,將元素添加到vector的末尾;pop_back()可以將末尾的元素刪除;size()可以返回vector中元素的個數。
二、初始化vector
vector可以在聲明時進行初始化,也可以通過assign()函數或resize()函數進行初始化。
vector<int> v1; //空vector
vector<int> v2(5); //包含5個0元素的vector
vector<int> v3(5, 3); //包含5個3元素的vector
vector<int> v4(v3); //複製v3的vector
vector<int> v5 = {1, 2, 3, 4, 5}; //使用花括弧進行初始化
v1.assign(5, 1); //向空vector添加5個1元素
v1.resize(10); //將vector擴容到10個元素
其中,assign()函數可以向vector中添加元素,resize()函數則可以擴容或者縮小vector的大小。
三、元素訪問
vector中的元素可以通過下標或迭代器進行訪問。
vector<int> v = {1, 2, 3, 4, 5}; //聲明並初始化一個vector
cout << v[2]; //輸出第3個元素(下標從0開始)
for (auto it = v.begin(); it != v.end(); it++) {
cout << *it << " "; //輸出每個元素
}
其中,下標從0開始,begin()和end()分別表示指向vector的起始位置和終止位置的迭代器。
四、插入和刪除元素
插入和刪除元素是vector非常重要的功能之一,可以實現具有動態變化的數組。
1. 插入元素
通過insert()函數可以在vector中插入新元素,該函數有三個參數:插入位置的迭代器、插入元素的個數和插入元素的值。
vector<int> v = {1, 2, 3, 4, 5}; //聲明並初始化一個vector
v.insert(v.begin()+3, 2, 0); //在下標為3的位置插入2個0元素
2. 刪除元素
通過erase()函數可以在vector中刪除元素,該函數有兩個重載版本:一個是刪除單個元素,一個參數是要刪除元素的迭代器,第二個參數是要刪除元素的下一個元素的迭代器;另一個是刪除元素的範圍,兩個參數是要刪除的第一個迭代器和最後一個元素的下一個迭代器。
vector<int> v = {1, 2, 3, 4, 5}; //聲明並初始化一個vector
v.erase(v.begin()+2); //刪除下標為2的元素
v.erase(v.begin()+2, v.end()-1); //刪除下標為2到倒數第2個元素的元素
五、總結
vector是C++中非常重要的一個容器,它提供了靈活的動態數組功能。通過以上的介紹,我們可以更全面地了解vector的使用方法。需要注意的是,vector在擴容時會重新分配內存,所以在處理大量數據時,需要考慮到時間和空間的複雜度。
原創文章,作者:MGUID,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/335054.html