概念:vector和数组非常相似,但它的效率不如数组,但是vector可以方便的变大变小。
原理:并不是在原有的空间后面继续添加新的空间,而是重新找一块连续的空间,然后将原有的数据拷贝进去,再释放原有的空间。
vector 是支持随机访问的。
构造方法如下:
- #include"iostream"
- #include"vector"
- using namespace std ;
- // vector的概念 :vector和数组非常相似,但它的效率不如数组,但是vector可以方便的变大变小
- // vector是如何变大和变小的?
- // 并不是在原有的空间后面继续添加新的空间,而是重新找一块连续的空间,然后将原有的数据拷贝进去,再释放原有的空间。
- // vector 是支持随机访问的。
-
-
- void printVector(vector<int> & v)
- {
- // 打印vector
- for(vector<int>::iterator it = v.begin();it!=v.end();it++)
- {
- cout<<*it<<'\t';
- }
- cout<<endl;
- }
-
-
-
- int main()
- {
- // 创建一个vector无参构造
- vector<int> v;
- // 向这个v中插入数据
- for(int i=1;i<10;i++)
- {
- v.push_back(i);
- }
- printVector(v);
-
-
- // 通过区间的方式进行构造
- vector<int>v2(v.begin(),v.end());
-
-
- printVector(v2);
-
-
-
- // n个element方式构造
-
- vector<int>v3(10,23);
-
- printVector(v3);
-
-
- // 拷贝构造
- // 这里拷贝v3到v4
- vector<int>v4(v3);
-
- printVector(v4);
- return 0;
- }