C++黑马程序员——P204-206. deque容器 构造函数,赋值操作,大小操作
- P204. deque容器——构造函数
- P205. deque容器——赋值操作
- P206. deque容器——大小操作
- P204. deque容器 构造函数

————————————————————————————————————————————————

————————————————————————————————————————————————

————————————————————————————————————————————————
构造函数:

————————————————————————————————————————————————
1 #include <iostream>
2 #include <deque>
3
4 using namespace std;
5
6 //打印deque容器的函数
7 void printDeque(const deque<int>& d) //加 const 是为了只读,防止修改数据
8 {
9 for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++) { // const_iterator 是 iterator 的 const 版本,只读的迭代器
10 //*it = 100; 只读不允许修改,会报错
11 cout << *it << " ";
12 }
13 cout << endl;
14 }
15
16 void test01()
17 {
18 deque<int>d1;
19 for (int i = 0; i < 10; i++) {
20 d1.push_back(i);
21 }
22 printDeque(d1);
23
24 deque<int>d2(d1.begin(), d1.end());
25 printDeque(d2);
26
27 deque<int>d3(10, 100); //10个100
28 printDeque(d3);
29
30 deque<int>d4(d3);
31 printDeque(d4);
32 }
33
34 int main() {
35
36 test01();
37 return 0;
38 }
运行结果:


- P205. deque容器 赋值操作
和 vector 容器基本一样:

————————————————————————————————————————————————
1 #include <iostream>
2 #include <deque>
3
4 using namespace std;
5
6 //打印deque容器的函数
7 void printDeque(const deque<int>& d) //加 const 是为了只读,防止修改数据
8 {
9 for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++) { // const_iterator 是 iterator 的 const 版本,只读的迭代器
10 //*it = 100; 只读不允许修改,会报错
11 cout << *it << " ";
12 }
13 cout << endl;
14 }
15
16 void test01()
17 {
18 deque<int>d1;
19 for (int i = 0; i < 10; i++) {
20 d1.push_back(i);
21 }
22 printDeque(d1);
23
24 // = 赋值
25 deque<int>d2;
26 d2 = d1;
27 printDeque(d2);
28
29 //assign 赋值
30 deque<int>d3;
31 d3.assign(d1.begin(), d1.end());
32 printDeque(d3);
33
34 deque<int>d4;
35 d4.assign(10, 100); //10个100
36 printDeque(d4);
37 }
38
39 int main() {
40
41 test01();
42 return 0;
43 }
运行结果:


- P206. deque容器 大小操作

注意,没有 capacity !根据它的内存模型,它可以无限插入新元素
————————————————————————————————————————————————
1 #include <iostream>
2 #include <deque>
3
4 using namespace std;
5
6 //打印deque容器的函数
7 void printDeque(const deque<int>& d) //加 const 是为了只读,防止修改数据
8 {
9 for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++) { // const_iterator 是 iterator 的 const 版本,只读的迭代器
10 //*it = 100; 只读不允许修改,会报错
11 cout << *it << " ";
12 }
13 cout << endl;
14 }
15
16 void test01()
17 {
18 deque<int>d1;
19 for (int i = 0; i < 10; i++) {
20 d1.push_back(i);
21 }
22 printDeque(d1);
23
24 if (d1.empty()) {
25 cout << "d1 为空" << endl;
26 }
27 else {
28 cout << "d1 不为空" << endl;
29 cout << "d1 的大小为:" << d1.size() << endl;
30 //deque 容器没有容量 capacity
31 }
32
33 //重新指定大小
34 d1.resize(15); //多余部分会用默认值填充35 printDeque(d1);
36
37 d1.resize(20, 1); //多余部分会用 1 填充
38 printDeque(d1);
39
40 d1.resize(5); //多余部分直接删掉
41 printDeque(d1);
42 }
43
44 int main() {
46 test01();
47 return 0;
48 }
运行结果:


(〃>_<;〃)(〃>_<;〃)(〃>_<;〃)

浙公网安备 33010602011771号