首页 > 其他分享 >顺序容器对比

顺序容器对比

时间:2024-11-03 16:46:43浏览次数:6  
标签:容器 顺序 deque 复杂度 vector 内存 数组 对比 底层

顺序容器

vector特点

  • 动态数组
  • 内存是连续的
  • 以二倍大小进行扩容,其中reserve只进行空间的预留不创建元素而resize既修改空间大小又改变元素个数

deque的特点

  • 底层为二维动态数组
  • 第二维数组空间大小固定
  • 扩容时,第一维数组的二倍进行扩容
  • 该二维数组的内存并不是连续的

list的特点

  • 底层为双向循环链表
  • 删除添加时间复杂度O(1),访问的时候O(n)

vector与deque

  • 底层数据结构不同
  • 前后数据插入的时间复杂度不同,vector,前O(n),后O(1);deque,前O(1),后O(1)
  • 内存的使用效率不同。vector必须是一块连续的内存空间;deque不需要

标签:容器,顺序,deque,复杂度,vector,内存,数组,对比,底层
From: https://blog.csdn.net/weixin_43459437/article/details/143467396

相关文章

  • C++ STL常用容器之set
    文章目录一、集合set二、所需的头文件三、基本访问操作3.1插入元素3.2删除元素3.3查找元素3.4其他函数四、无序集合unordered_set五、multiset六、unordered_multiset七、使用set容器八、map与set的区别一、集合setset称为集合,是一个内部自动有序且不含重复元素......
  • RT-Thread、RT-Linux与Zephyr实时性对比
    在嵌入式系统领域,实时性是一个至关重要的指标,它直接关系到系统对外部事件的响应速度和处理效率。在众多实时操作系统(RTOS)中,RT-Thread、RT-Linux和Zephyr因其各自的特点和优势,成为业界广泛关注的焦点。本文将从实时性角度出发,对这三款RTOS进行详细对比。 一、引言随着物联网、......
  • 【算法-选择排序】挑挑拣拣,排出顺序——选择排序入门
    什么是选择排序?选择排序是一种比较简单直接的排序方式。想象你在打散一副牌,想按照大小顺序从小到大排列这些牌。你会怎么做?可能会先找出最小的那张,放在最前面,然后在剩下的牌里找第二小的,依次类推,这就是选择排序的基本思路!在程序中,选择排序的操作流程也类似:它逐步将未排序......
  • 洛谷:P5707 【深基2.例12】上学迟到 (纯净的顺序结构方法)
    本内容纯作者吃饱了没事干做出来的,仅供娱乐和思路参考(当然代码肯定是AC了)最近我想重新提升一下自己的编程能力,想选一个题量比较精炼的平台,所以就用了洛谷。题目描述学校和yyy的家之间的距离为s米,而yyy以v米每分钟的速度匀速走向学校。在上学的路上,yyy还要额外花费1......
  • 【STL_list 模拟】——打造属于自己的高效链表容器
    一、list节点​list是一个双向循环带头的链表,所以链表节点结构如下: template<classT> structListNode { Tval; ListNode*next; ListNode*prve; ListNode(intx) { val=x; next=prve=this; } };二、list迭代器2.1、list迭代器与vector......
  • 【C知道】容器化技术
    C知道  你对容器化技术有何理解?容器化技术是一种软件打包和部署的方法,它将应用程序及其依赖项封装在一个轻量级、独立的运行环境中,通常称为“容器”。比如Docker就是一个流行的容器平台,它允许开发者打包应用及其配置到一个镜像中,这个镜像可以在任何支持该技术的操作系统上......
  • 解决docker安装minio容器时,minio容器启动几秒后自动退出的一种方法
    笔者在部署minio容器时,遇到了以上问题。起初以为是我端口被占用或存储空间不足,经过检测排除了以上问题。以下是最初的安装命令:dockerrun-d--nameminio--restart=always-p9000:9000-e"MINIO_ACCESS_KEY=minio"-e"MINIO_SECRET_KEY=minio123"-v/home/data:/data-v/......
  • CPP学习 用栈容器解决问题示例,判断括号是否成对出现
    #include<string>#include<iostream>#include<stack>usingnamespacestd;boolisbalanced(conststring&str){intlen=str.size();stack<char>mystack;for(inti=0;i<len;i++){if(str[i]==&......
  • 06程序IPO模式与C++顺序结构
    一、程序IPO模式编程IPO是指输入、处理和输出(Input,Process,Output)的概念。在计算机编程中,IPO是一种常用的设计模式,用于描述程序的基本流程。具体来说,IPO指的是程序从接受输入数据开始,经过一系列处理计算,最终产生输出结果的过程。IPO模式的组成部分:-输入(Input):在这个阶段......
  • Delphi7 对比两个文件版本
     functionCompareFileVersion(strVerNew:String;strVerOld:String):boolean;vari:integer;newCount:Integer;oldCount:Integer;slVerNew:TStringList;slVerOld:TStringList;beginResult:=True;slVerNew:=TStringList.Create;slVe......