一、定义和构造函数
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进行初始化时,需要注意定义和构造函数的使用。除此之外,还需要掌握插入和删除元素、遍历和访问元素的操作。