关注小韩 轻松编程 一起由浅入深
vector数据结构与数组非常类似
vector与普通数组的区别:
1.数组是静态空间 vector是动态空间(动态拓展空间存储)
2.vector迭代器支持随机访问
动态拓展:
并非在原空间之后续接新空间,而是寻找更大的内存空间 ,将数据拷贝进新空间 ,释放原空间
vector结构示意
#include<iostream>
#include<vector>
using namespace std;
//vector容器的构造
/* 函数原型:
vector<T> v; //采用模板实现类 默认构造函数
vector(v.begin(),v.end()); //将v.begin(),end()区间的元素拷贝给函数本身
vector(n,elem); //构造函数将n个ele拷贝给本身
vector(const vector &vec); //拷贝构造函数
*/
void vectorprint(vector<int>& v) //打印容器内值 的函数
{
for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
cout << *it << " ";
cout << endl;
}
void test()
{
vector<int> v1; //默认构造(无参构造) //1
for (int i=0; i < 10; i++)
v1.push_back(i); //给容器v1 赋值
vectorprint(v1); //输出容器v1的内容
vector<int> v2(v1.begin(), v1.end()); //通过区间的方构造 //2
vectorprint(v2);
vector<int>v3(10, 999); //n个elem方式构造 十个 999 //3
vectorprint(v3);
vector<int>v4(v3); //拷贝构造 :最常用的方式****** //4
vectorprint(v4);
}
int main()
{
test();
return 0;
}
有疑问欢迎评论区留言哦!!!