1 #include<iostream>
2 #include<Windows.h>
3 #include<vector>
4 #include<deque>
5 using namespace std;
6 void prinfVector(vector<int> &v)
7 {//vector迭代器支持随机访问
8 for (vector<int>::iterator it=v.begin();it!=v.end();it++)
9 {
10 //可以修改容器内容
11 if (*it==3)
12 {
13 *it = 33333;
14 }
15 cout << *it << " ";
16 }
17 cout << endl;
18 }
19
20 //扩展,只读访问Vector
21 void prinfVectorconst(const vector<int> &v)
22 {//vector迭代器支持随机访问
23 for (vector<int>::const_iterator it = v.begin(); it != v.end(); it++)
24 {
25 //*it = 100; 无法修改容器内容
26 cout << *it << " ";
27 }
28 cout << endl;
29 }
30
31 void test1()
32 {//初始化构造函数
33 vector<int> v1;
34 for (size_t i = 0; i < 10; i++)
35 {
36 v1.push_back(i);
37 }
38 vector<int> v2(v1);
39 vector<int> v3(v1.begin(),v1.end());
40 vector<int> v4(13,5);
41 cout << "初始化构造函数: " << endl;
42 prinfVector(v1);
43 prinfVector(v2);
44 prinfVector(v3);
45 prinfVector(v4);
46
47 //赋值
48 cout << "赋值: " << endl;
49 vector<int> v5;
50 v5 = v1;
51 prinfVector(v5);
52
53 vector<int> v6;
54 v6.assign(v5.begin(),v5.end());
55 prinfVector(v6);
56
57 vector<int> v7;
58 v7.assign(5,19);
59 prinfVector(v7);
60
61 //容量和大小
62 cout << "容量和大小: " << endl;
63 vector<int> v8(v1);
64 cout << "v8容量" << v8.size() << "v8大小: " << v8.size() << endl;
65 cout << "v8容量"<<v8.capacity()<<"v8大小: "<<v8.size() << endl;
66 //删除
67 if (!v8.empty())
68 {
69 v8.pop_back();
70 }
71 prinfVector(v8);
72
73 //重置容器大小
74 v8.resize(20);
75 prinfVector(v8);
76 v8.resize(30,9);
77 prinfVector(v8);
78 v8.resize(8, 4);
79 prinfVector(v8);
80 //插入数据
81 v8.insert(v8.begin(),2);
82 prinfVector(v8);
83 v8.insert(v8.begin(), 5,7);
84 prinfVector(v8);
85 //删除容器元素
86 v8.erase(v8.begin());
87 prinfVector(v8);
88 v8.erase(v8.begin(),v8.end());
89 v8.insert(v8.begin(), 2);
90 prinfVector(v8);
91 }
92
93 int main()
94 {
95 test1();
96
97 system("pause");
98 return 0;
99 }