1、vector基本概念
功能:vector数据结构和数组非常相似,也称为单端数组
vector与普通数组区别:
不同之处在于数组是静态空间,而vector可以动态扩展
动态扩展:
并不是在原有的空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间。
vector迭代器是支持随机访问的迭代器
2、vector构造函数
功能:创建vector容器
函数原型:
- vector<T> v; 采用模板实现类实现,默认构造函数
- vector(v.begin(),v.end());将v.begin()和v.end()区间中的元素拷贝给本身
- vector(n,elem);构造函数将n个elem拷贝给本身
- vector(const vector &vec);拷贝构造函数
void printVector(vector<int>&v)
{
for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
void test01()
{
vector<int> v1;
for (int i = 0; i < 10; i++)
{
v1.push_back(i);
}
printVector(v1);
vector<int>v2(v1.begin(), v1.end());
printVector(v2);
vector<int>v3(10, 100);
printVector(v3);
vector<int>v4(v3);
printVector(v4);
}
int main()
{
cout << "test01" << endl;
test01();
system("pause");
return 0;
}
3、vector赋值操作
函数原型:
- vector& operator=(const vector &vec);重载等号运算符
- assign(beg ,end);将[beg,end]区间中的数据拷贝给本身
- assign(n,elem);将n个elem拷贝给本身
void printVector(vector<int>&v)
{
for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
void