码迷,mamicode.com
首页 > 其他好文 > 详细

STL——容器(deque) deque 的赋值

时间:2020-05-02 23:15:11      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:重载   操作符   col   img   image   begin   ++   back   name   

1. deque 的赋值

deque 的赋值分下边4种方法:

  • deque.assign(beg,end);            //将[beg, end)区间中的数据拷贝赋值给本身。注意该区间是左闭右开的区间。
 1 #include <iostream>
 2 #include <deque>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     deque<int> deqInt_A, deqInt_B;
 9     
10     deqInt_A.push_back(1);
11     deqInt_A.push_back(2);
12     deqInt_A.push_back(3);
13     deqInt_A.push_back(4);
14 
15     deqInt_B.assign(deqInt_A.begin(), deqInt_A.end());
16 
17     cout << "deqInt_B 中的元素为:" << endl;
18     for (deque<int>::iterator it = deqInt_B.begin(); it != deqInt_B.end(); it++)
19     {
20         cout << *it << " ";
21     }
22 
23     return 0;
24 }

打印结果:

技术图片

 

 

  • deque.assign(n,elem);      //将n个elem拷贝赋值给本身。
 1 #include <iostream>
 2 #include <deque>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     deque<int> deqInt_A;
 9     deqInt_A.assign(4, 888);
10 
11     cout << "deqInt_A 中的元素为:" << endl;
12     for (deque<int>::iterator it = deqInt_A.begin(); it != deqInt_A.end(); it++)
13     {
14         cout << *it << " ";
15     }
16 
17     return 0;
18 }

打印结果:

技术图片

 

 

  • deque& operator=(const deque &deq);     //重载等号操作符
 1 #include <iostream>
 2 #include <deque>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     deque<int> deqInt_A, deqint_B;
 9     deqInt_A.assign(4, 888);
10     deqint_B = deqInt_A;            // operator= 重载,可以直接进行赋值
11 
12     cout << "deqint_B 中的元素为:" << endl;
13     for (deque<int>::iterator it = deqint_B.begin(); it != deqint_B.end(); it++)
14     {
15         cout << *it << " ";
16     }
17 
18     return 0;
19 }

打印结果:

技术图片

 

 

  • deque.swap(deq);         // 将deque与本身的元素互换
 1 #include <iostream>
 2 #include <deque>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     deque<int> deqInt_A, deqint_B;
 9     deqInt_A.assign(4, 111);
10     deqint_B.assign(5, 222);
11 
12     cout << "deqInt_A 中的元素为:" << endl;
13     for (deque<int>::iterator it = deqInt_A.begin(); it != deqInt_A.end(); it++)
14     {
15         cout << *it << " ";
16     }
17     cout << "\ndeqint_B 中的元素为:" << endl;
18     for (deque<int>::iterator it = deqint_B.begin(); it != deqint_B.end(); it++)
19     {
20         cout << *it << " ";
21     }
22     cout << "\n\nswap 进行翻转" << endl;
23     deqInt_A.swap(deqint_B);
24     cout << "deqInt_A 中的元素为:" << endl;
25     for (deque<int>::iterator it = deqInt_A.begin(); it != deqInt_A.end(); it++)
26     {
27         cout << *it << " ";
28     }
29     cout << "\ndeqint_B 中的元素为:" << endl;
30     for (deque<int>::iterator it = deqint_B.begin(); it != deqint_B.end(); it++)
31     {
32         cout << *it << " ";
33     }
34     return 0;
35 }

打印结果:

技术图片

 

 

 

 

 

 

 

 

 

 

=======================================================================================================================

STL——容器(deque) deque 的赋值

标签:重载   操作符   col   img   image   begin   ++   back   name   

原文地址:https://www.cnblogs.com/CooCoChoco/p/12819876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!