面试十七、list和deque

news2024/11/15 7:16:07

       一、 Deque 

         Deque容器是连续的空间,至少逻辑上看来如此,连续现行空间总是令我们联想到array和vector,array无法成长,vector虽可成长,却只能向尾端成长,而且其成长其实是一个假象,事实上(1) 申请更大空间 (2)原数据复制新空间 (3)释放原空间 三步骤,如果不是vector每次配置新的空间时都留有余裕,其成长假象所带来的代价是非常昂贵的。

        Deque是由一段一段的定量的连续空间构成。一旦有必要在deque前端或者尾端增加新的空间,便配置一段连续定量的空间,串接在deque的头端或者尾端Deque最大的工作就是维护这些分段连续的内存空间的整体性的假象,并提供随机存取的接口,避开了重新配置空间,复制,释放的轮回,代价就是复杂的迭代器架构。并且 既然deque是分段连续内存空间,那么就必须有中央控制,维持整体连续的假象,数据结构的设计及迭代器的前进后退操作颇为繁琐。Deque代码的实现远比vector或list都多得多。

 二、list

         元素存放在堆中,每个元素都是放在一块内存中,他的内存空间可以是不连续的,通过指针来进行数据的访问,这个特点使得它的随机存取变得非常没有效率,因此它没有提供[]操作符的重载。但是由于链表的特点,它可以很有效率的支持任意地方的删除和插入操作。

三、Vector和Deque区别

 

 四、List和Vecor的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1617235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用户体验至上:独立站脱颖而出的关键要素解析

在数字化时代,独立站成为了许多品牌和企业展示自身形象、推广产品、建立客户联系的重要平台。然而,要想在众多的独立站中脱颖而出,吸引并留住用户,良好的用户体验至关重要。本文Nox聚星将和大家探讨如何做好独立站的用户体验&…

Rust实战 | 用 RustRover 开发猜数字游戏

#1、概述 从这期开始,我会以实际项目的形式,分享个人学习 Rust 语言的过程。期间,我不会讲太多语法知识,需要各位看官自行查阅文档😄。 开始前,需具备 Rust 环境(我用的是当前最新版本1.77.2&…

Syncovery for Mac v10.14.3激活版:文件备份和同步工具

Syncovery for Mac是一款高效且灵活的文件备份与同步工具,专为Mac用户设计,旨在确保数据的安全性和完整性。该软件支持多种备份和同步方式,包括本地备份、网络备份以及云备份,用户可以根据实际需求选择最合适的方案。 Syncovery f…

20240416,深拷贝浅拷贝,对象初始化和清理,对象模型和THIS指针

哈哈哈乌龟越狱了 目录 2.5 深拷贝&浅拷贝 2.6 初始化列表 2.7 类对象作为类成员 2.8 静态成员 2.9 成员变量和成员函数分开存储 2.10 THIS指针的用途 2.11 空指针访问成员函数 2.12 COSNT修饰成员函数 2.5 深拷贝&浅拷贝 浅拷贝:简单的赋值拷贝…

12、【装饰器模式】动态地为对象添加新功能

你好,我是程序员雪球。 今天我们来聊聊 23 种设计模式中,一种常见的结构型模式,装饰器模式。聊聊它的设计思想、实现原理,应用场景,以及如何使用。 装饰器模式(Decorator Pattern)是一种结构型…

智慧水务是什么样的?如何打造智慧水务大屏?

在信息化和数字化快速发展的今天,智慧水务作为城市供水管理的重要组成部分,正变得越来越重要。智慧水务大屏作为智慧水务系统的可视化核心,不仅提升了水务管理的效率,而且通过数据的实时监控和分析,为决策者提供了强有…

揭秘爬虫技术:助你打开网络数据的大门

在当今信息爆炸的时代,网络上蕴藏着各种宝贵的数据资源,而要想获取这些宝藏,爬虫技术无疑是最为有效的利器之一。今天我将向大家深入探讨爬虫技术的奥秘,并带领大家一起走进这个数据世界的大门。 文章目录 什么是爬虫技术&#xf…

垃圾焚烧发电:从国资到专业公司,运营模式新变革|中联环保圈

近日,云南富源县生活垃圾焚烧发电项目运营管理技术服务招标引发广泛关注,与此同时,众多垃圾焚烧发电项目也纷纷启动了运管工作的招标。值得注意的是这些项目的招标人均为当地国资,且其中多数缺乏项目的运营经验。 在垃圾焚烧发电行…

4个在ArcGIS中可加载的图源分享

数据是GIS的血液。 这里分享4个来自网友分享的图源,该图源可以直接在ArcGIS中打开进行查看。 4个图源分享 你可以先打开ArcMap软件,然后将以下文分拖放到软件中打开即可查看。 4个图源 这4个图源分别为有地名和路网的地形地图、电子地图、有地名和路…

mysql-connector 交叉编译

1.下载 官网选择对应的系统以及版本,这里我用的是6.1.5https://downloads.mysql.com/archives/c-c/ 2.解压 tar -zxvf mysql-connector-c-6.1.5-src.tar.gz 3.先常规编译(因为交叉编译的过程中,会用到生成的二进制文件) cd m…

Llama3-8B+ LLaMA-Factory 中文微调

Llama3-8B LLaMA-Factory 中文微调 Llama3是目前开源大模型中最优秀的模型之一,但是原生的Llama3模型训练的中文语料占比非常低,因此在中文的表现方便略微欠佳! 本教程就以Llama3-8B-Instruct开源模型为模型基座,通过开源程序LL…

深度相机(3D相机)

传统的RGB彩色相机称为2D相机, 只能得到2D的图像信息, 无法得到物体与相机的距离信息,也就是深度信息。 顾名思义, 深度相机除了获取2D信息,还能得到深度信息,也叫RGBD相机, 或3D相机。 顺便提…

人像摄影姿势入门,人像拍照姿势详解

一、资料前言 本套人像摄影资料,大小537.44M,共有17个文件。 二、资料目录 《如何摆出好POSE》.黑面.影印版.pdf 《人像摄影姿势入门》.pdf 《人像摄影技巧》.pdf 《人像摄影摆姿指南》.比尔.赫特尔.扫描版.pdf 《人像摄影摆姿全集》龙文摄影.彩图…

三羟甲基氨基甲烷(TRIS)应用场景广泛 苏州亚科科技是主要供应商

三羟甲基氨基甲烷(TRIS)应用场景广泛 苏州亚科科技是主要供应商 三羟甲基氨基甲烷(TRIS)是一种有机化合物,外观为白色晶体,溶于水。三羟甲基氨基甲烷分子结构中含有一个氮原子和三个羟基,反应活…

C语言指针+-整数、指针-指针、指针关系运算、指针和数组、二级指针、指针数组

文章目录 前言一、指针 - 整数二、指针 - 指针三、指针的关系运算四、指针和数组五、二级指针六、指针数组指针数组可以将几个一维数组模拟成二维数组 总结 前言 C语言指针整数、指针-指针、指针关系运算、指针和数组、二级指针、指针数组等介绍,还包括指针数组将几…

UE4_常见动画节点学习_Two Bone IK双骨骼IK

学习资料,仅供参考! Two Bone IK 控制器将逆运动(IK)解算器应用于到如角色四肢等3关节链。 变量( HandIKWeight )被用于在角色的 hand_l 和 hand_r 控制器上驱动 关节目标位置(Joint Target Lo…

无锡日报:用超算系统设计国产民航飞机!“神威”,再显神威!

用国产超算系统 设计国产民用飞机 ✈ 我国推进高水平科技自立自强 又迈出坚实一步 4月19日,来自国内航空领域和计算机领域的专家相聚国家超级计算无锡中心,启动“面向新一代国产超算系统的民用飞机多学科联合设计优化技术与软件”项目,并…

线上剧本杀小程序开发,未来行业的发展趋势?

当下,剧本杀成为了大众最喜欢的娱乐方式之一,作为以沉浸式为主的剧本杀正成为新时代下的发展潮流。 数据显示,剧本杀行业已达到了百亿元。面对发展迅猛的剧本杀市场,越来越多的资本进入到了市场中,剧本杀的产业链也逐…

OpenHarmony实战开发-如何实现tabContent内容可以在tabBar上显示并且tabBar可以响应滑动事件的功能。

介绍 本示例实现了tabContent内容可以在tabBar上显示并且tabBar可以响应滑动事件的功能。 效果图预览 使用说明 1.点击播放按钮进行视频播放,按住进度条按钮和进度条下方区域可以拖动进度条,更改视频播放进度。 实现思路 原生的Tabs组件&#xff0c…

微服架构基础设施环境平台搭建 -(六)Kubesphere 部署Redis服务 设置访问Redis密码

微服架构基础设施环境平台搭建 -(六)Kubesphere 部署Redis服务 & 设置访问Redis密码 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -(一)基础环境准备 微服架构基础设施环境平台搭建 -(二…