首页IT科技容器支持哪些操作系统(详解容器适配器)

容器支持哪些操作系统(详解容器适配器)

时间2025-05-02 14:40:06分类IT科技浏览4088
导读:标准容器->容器适配器...

标准容器->容器适配器

什么叫适配器?

1:适配器底层没有自己的数据结构,它是另外一个容器的封装,它的方法,

全部由底层依赖的容器进行实现的.像标准库中的stack 如下图

2:没有实现自己的迭代器

详解容器适配器

容器适配器 stack,queue,priotity_queue 没有迭代器

stacks1; 栈, 队尾 后进先出

s1.push();入栈

s1.pop();出栈

s1.empty();判断空

s1.top();栈顶元素

s1.size();个数

queue que; 队列 先进先出,后进后出 ,队头出,队尾入

que.pop();

que.font();

que.back();查看队尾元素

que.empty();判断对空

que.size();查个数

priority_que pque;优先队列

pque.push(); 入优先级队列

pque.top();//按优先级出队

pque.top()查看队顶元素

pque.empty();判断空

pque.size();查元素个数

C++库中stack默认容器依赖的是deque         ,为什么不用vector?

1:初始内存效率vector太低了                  ,扩容顺序0->1->2->4->8->16 而deque的二维数组默认大小4096/sizeof(T)

2:对于queue需要支持尾部插入,头部删除都是o(1),vector做不到O(1)

3:vector需要大片的连续的内存,而deque只需要分段的内存,当存储大量的数据时,deque对内存的利用率更高

C++库中queue默认容器依赖的是deque      ,为什么不用vector?

C++库中priority_que pque;默认容器依赖的是vector      ,为什么?

priority_que 底层默认把数据组成一个大根堆结构,元素之间的关系是通过下标计算,而vector连续的存储空间                 ,通过下标存取很快

详解容器适配器

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
跳动的心表情代码(一个《跳动的爱心》代码,纯HTML+JS,双击直接运行) win10数字永久激活工具v1.3.7怎么使用(2021.2最新win10永久数字激活秘钥分享 附激活工具)