首页 > 其他分享 ><五>详解容器适配器

<五>详解容器适配器

时间:2022-12-15 19:23:15浏览次数:40  
标签:容器 pque 适配器 queue vector que 详解

标准容器->容器适配器
什么叫适配器?
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连续的存储空间,通过下标存取很快

标签:容器,pque,适配器,queue,vector,que,详解
From: https://www.cnblogs.com/erichome/p/16982285.html

相关文章

  • 详解shell 函数定义与调用
    一、Shell函数定义格式shell函数定义格式,各部分说明如下:[function]等中括号括起来部分----表示可选(即可有可无)your_function_name部分----为函数名your_shell_commands部......
  • Python super() 详解 最简单的解释
    首先提一下,经典类和新式类。在Python2中,如果定义类的方式是classMyClass:那么该类叫做经典类,如果定义类的方式为classMyClass(object):那么该类为新式类。在Python3中......
  • 二、memcache 启动参数详解
    memcache启动参数:(以最新1.6.17为例)memcache--help命令提示点击查看代码memcached1.6.17-p,--port=<num>小写p,memcached监听的tcp端口。(默认端口为11211)......
  • Spring Integration 的 XMPP 通道适配器
    SpringIntegration为 XMPP 提供通道适配器。XMPP代表“可扩展消息传递和状态协议”。XMPP描述了一种让多个代理在分布式系统中相互通信的方法。规范用例是发送和接......
  • python的元组详解
    names=["zhangsan","lisi","wangwu","zhaoliu"]#从元组中取出来元素print(names[0:3])#打印第0个到第2个元组,取左不取右print(names[-1])#打印元组的最后一个元素#添加元......
  • 监控容器节点内存使用率
    #-*-encoding:utf-8-*-fromsubprocessimportPopen,PIPE,STDOUTimporttimedefRun_Cmd(cmd):#执行命令p=Popen(cmd,shell=True,stdin=PIPE,st......
  • Linux inode详解
    1、inode和block概述block:操作系统在读取硬盘的时候,会一次性读取一“块”(block),这种块是文件存取的最小的单位,block的大小常见的是4KB,即八个扇区构成。(硬盘的最小存储单位......
  • 3.2 Docker 容器操作命令 1. 容器生成
    在本地有了镜像之后(默认安装Docker后,会自带初始镜像,可通过Dockerimages命令进行查看),开发者就可以使用镜像生成容器,具体命令如下:dockerrun-d-p8888:8080--nam......
  • 1.6 Docker 容器 ip 和端口映射
    在Dokcer中共有四种网络模式:⚫host模式,使用--net=host指定⚫container模式,使用--net=container:NAMEorID指定⚫none模式,使用--net=none指定⚫bridge模......
  • compact 命令详解
    一直都没发现,原来Windows系统自带了一个文件压缩程序:compact.exe,这个程序位于系统的“Windows\system32”文件夹下,专门用来显示或改变NTFS分区上的文件的压缩状况。利......