16.3.2【deque容器赋值操作、大小操作】
1 #include<iostream> 2 #include<stdlib.h> 3 using namespace std; 4 #include<deque> 5 6 7 /* 8 3.3.3 deque赋值操作 9 deque& operator=(const deque &deq); //重载等号操作符 10 assign(beg, end); //将[beg, end)区间中的数据拷贝赋值给本身。 11 assign(n, elem); //将n个elem拷贝赋值给本身。 12 13 3.3.4 deque大小操作 14 deque.empty(); //判断容器是否为空 15 deque.size(); //返回容器中元素的个数 16 deque.resize(num); //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。 17 //如果容器变短,则末尾超出容器长度的元素被删除。 18 deque.resize(num, elem); //重新指定容器的长度为num,若容器变长,则以elem值填充新位置。 19 //如果容器变短,则末尾超出容器长度的元素被删除。 20 21 */ 22 23 24 void pd(const deque<int> & d) 25 { 26 for(deque<int>::const_iterator it=d.begin(); it!=d.end(); it++) 27 { 28 cout << *it << " "; 29 } 30 cout << endl; 31 } 32 33 34 void test333() 35 { 36 deque<int> d1; 37 for(int i=0; i<10; i++) 38 { 39 d1.push_back(i); 40 } 41 pd(d1); 42 43 deque<int> d2; 44 d2 = d1; 45 pd(d2); 46 47 deque<int> d3; 48 d3.assign(d1.begin(), d1.end()); 49 pd(d3); 50 51 deque<int> d4; 52 d4.assign(10, 6); //10个6 53 pd(d4); 54 } 55 56 57 void test334() 58 { 59 deque<int> d1; 60 for(int i=0; i<10; i++) 61 { 62 d1.push_back(i); 63 } 64 pd(d1); 65 66 if(d1.empty()) 67 { 68 cout << "is null" << endl; 69 } 70 else 71 { 72 cout << "not null" << endl; 73 cout << "size:" << d1.size() << endl; 74 //deque容器没有vector中capacity容量的概念 75 } 76 77 d1.resize(16); 78 pd(d1); //默认0填充多余空间 79 d1.resize(20, 1); //重载函数自定义用1填充多余空间 80 pd(d1); 81 82 d1.resize(6); 83 pd(d1); //超出6个存储位置的数据被删掉 84 } 85 86 87 int main() 88 { 89 test333(); //deque赋值方式同vector 90 test334(); 91 /* 92 deque没有容量的概念 93 判断是否为空 --- empty 94 返回元素个数 --- size 95 重新指定个数 --- resize 96 */ 97 98 system("pause"); 99 return 0; 100 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!