一、定義和構造函數
C++中的vector是一個類模板,它是一種動態數組,支持在數組的尾部增加或刪除元素。在使用vector進行初始化時,有兩種常見的方法。
第一種是使用定義和構造函數。定義和構造一個vector可以使用以下語法:
vector<int> myVector; //定義一個空的vector
vector<int> myVector(10); //定義一個大小為10的vector
vector<int> myVector(10, 3); //定義一個大小為10且每個元素都是3的vector
vector<int> myVector = {1, 2, 3, 4, 5}; //定義一個包含5個元素,值分別為1, 2, 3, 4, 5的vector
其中,第一行定義了一個空的vector,第二行定義了一個大小為10的vector,每個元素都是默認值0,第三行定義了一個大小為10且每個元素都是3的vector,第四行定義了一個包含5個元素,值分別為1,2,3,4,5的vector。
二、插入和刪除元素
除了定義和構造函數,vector還支持插入和刪除元素的操作。這些操作有以下幾種:
①在尾部插入元素:
vector<int> myVector{1, 2, 3};
myVector.push_back(4); //將4插入到vector的尾部
在尾部插入元素是vector中最常見的操作之一,使用push_back函數可以方便地在尾部插入元素。
②在指定位置插入元素:
vector<int> myVector{1, 2, 3};
myVector.insert(myVector.begin() + 1, 4); //在位置1插入元素4
使用insert函數可以在vector的指定位置插入元素。insert函數接收兩個參數,第一個參數是要插入的位置,第二個參數是要插入的元素。
③刪除尾部元素:
vector<int> myVector{1, 2, 3};
myVector.pop_back(); //刪除尾部元素
使用pop_back函數可以刪除vector的尾部元素。
④刪除指定位置元素:
vector<int> myVector{1, 2, 3};
myVector.erase(myVector.begin() + 1); //刪除位置1的元素
使用erase函數可以刪除vector的指定位置元素。erase函數接收一個參數,表示要刪除的位置。
三、遍歷和訪問元素
C++中的vector支持使用下標訪問元素和遍曆元素的操作。
①使用下標訪問元素:
vector<int> myVector{1, 2, 3};
int a = myVector[0]; //訪問第一個元素
myVector[1] = 4; //修改第二個元素的值
使用下標可以方便地訪問vector的元素,並修改元素的值。
②使用迭代器遍曆元素:
vector<int> myVector{1, 2, 3};
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
cout << *it << endl;
}
使用迭代器可以遍歷vector的所有元素。vector的begin函數返回的是一個指向第一個元素的迭代器,end函數返回的是一個指向序列末尾的迭代器。
四、總結
C++中的vector是一種常用的數據結構,支持動態數組的操作。在使用vector進行初始化時,需要注意定義和構造函數的使用。除此之外,還需要掌握插入和刪除元素、遍歷和訪問元素的操作。
原創文章,作者:GSAND,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/368164.html