1.2.2.1 容器 Container

2024-06-04 10:58
文章标签 容器 1.2 2.1 container

本文主要是介绍1.2.2.1 容器 Container,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1 容器
  • 2 序列式容器
    • 2.1 类模板 array
      • 2.1.1 内存空间固定大小
        • 2.1.1.1 设置元素值
        • 2.1.1.2 填充元素值
        • 2.1.1.3 读取元素值
        • 2.1.1.4 读取元素数量
    • 2.2 类模板 deque
    • 2.3 类模板 forward_list
    • 2.4 类模板 list
    • 2.5 类模板 vector
      • 2.5.1 内存空间动态大小
        • 2.1.1.1 设置元素值
        • 2.1.1.2 填充元素值
        • 2.1.1.3 读取元素值
        • 2.1.1.4 读取元素数量
  • 3 关联式容器
    • 3.1 类模板 map
    • 3.2 类模板 multimap
    • 3.3 类模板 set
    • 3.4 类模板 multiset
  • 4 无序关联式容器
    • 4.1 类模板 unordered_map
    • 4.2 类模板 unordered_multimap
    • 4.3 类模板 unordered_set
    • 4.4 类模板 unordered_multiset

1 容器

类别特点
STL序列式容器array、vector、deque、list 、forward_list.不会对存储的元素进行排序,元素排列的顺序取决于存储它们的顺序.
STL关联式容器map、multimap、set、 multiset关联式容器在存储元素时还会为每个元素在配备一个键,整体以键值对的方式存储到容器中。可以通过键值直接找到对应的元素,而无需遍历整个容器。另外,关联式容器在存储元素,默认会根据各元素键值的大小做升序排序。
STL无序关联式容器unordered_map、unordered_set、unordered_multimap、unordered_multiset无序关联式容器不会对存储的元素做升序排序.
大小是否固定元素存储位置
array是(无法动态的扩展或收缩)连续
vector否(可以动态的扩展或收缩)连续
deque
list否(可以动态的扩展或收缩)离散
forward_list否(可以动态的扩展或收缩)离散

2 序列式容器

2.1 类模板 array

2.1.1 内存空间固定大小

array<int, 10> scores; //定义10个整型元素的数组

2.1.1.1 设置元素值

scores.at(1) = 100; //设置元素1的值为100

2.1.1.2 填充元素值

scores.fill(100); //将数组所有元素初始化为100

2.1.1.3 读取元素值

int a = scores.at(1); //获取元素1的值

2.1.1.4 读取元素数量

int size = scores.size(); //获取元素数量

2.2 类模板 deque

2.3 类模板 forward_list

2.4 类模板 list

2.5 类模板 vector

2.5.1 内存空间动态大小

vector scores;
scores.resize(10);

2.1.1.1 设置元素值

scores.at(1) = 100; //设置元素1的值为100

2.1.1.2 填充元素值

scores.fill(100); //将所有元素初始化为100

2.1.1.3 读取元素值

int a = scores.at(1); //获取元素1的值

2.1.1.4 读取元素数量

int size = scores.size(); //获取元素数量

3 关联式容器

3.1 类模板 map

3.2 类模板 multimap

3.3 类模板 set

3.4 类模板 multiset

4 无序关联式容器

4.1 类模板 unordered_map

4.2 类模板 unordered_multimap

4.3 类模板 unordered_set

4.4 类模板 unordered_multiset

这篇关于1.2.2.1 容器 Container的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029888

相关文章

LeetCode11. 盛最多水的容器题解

LeetCode11. 盛最多水的容器题解 题目链接: https://leetcode.cn/problems/container-with-most-water 示例 思路 暴力解法 定住一个柱子不动,然后用其他柱子与其围住面积,取最大值。 代码如下: public int maxArea1(int[] height) {int n = height.length;int

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

云原生容器技术入门:Docker、K8s技术的基本原理和用途

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、容器技术概述 1、什么是容器技术 2、容器技术的历史与发展 3、容器技术与虚拟机的比较 4、容器技术在云原生中的作用 二、Docker基础 1、Docker简介 2、Docker架构 3、Docker与工作原理 三、Kubernetes(k8s)基础 1、

Web容器启动时加载Spring分析

在应用程序web.xml中做了以下配置信息时,当启动Web容器时就会自动加载Spring容器。 [java]  view plain copy print ? <listener>          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

植物大战僵尸杂交版2.1版本终于来啦!游戏完全免费

在这个喧嚣的城市里,我找到了一片神奇的绿色世界——植物大战僵尸杂交版。它不仅是一款游戏,更像是一扇打开自然奥秘的窗户,让我重新认识了植物和自然的力量。 植物大战僵尸杂交版最新绿色版下载链接: https://pan.quark.cn/s/d60ed6e4791c 🌱 🔥 激情介绍:不只是游戏,更是生态课 植物大战僵尸杂交版将经典的策略塔防游戏带入了一个全新的维度。这里,每一种植物都拥

Kubernetes排错(十)-处理容器数据磁盘被写满

容器数据磁盘被写满造成的危害: 不能创建 Pod (一直 ContainerCreating)不能删除 Pod (一直 Terminating)无法 exec 到容器 如何判断是否被写满? 容器数据目录大多会单独挂数据盘,路径一般是 /var/lib/docker,也可能是 /data/docker 或 /opt/docker,取决于节点被添加时的配置,可通过 docker info 确定:

【C++11 之新增容器 array、foward_list、tuple、unordered_(multi)map/set】应知应会

C++11 标准中新增了多个容器,这些容器为 C++ 程序员提供了更多的选择,以满足不同的编程需求。以下是对这些新容器的介绍和使用案例: std::array 介绍: std::array 是一个固定大小的数组容器,它在栈上分配内存,并提供了类似于标准库容器的接口。它提供了更好的类型安全性和范围检查,同时保持了与原生数组相似的性能。std::array 的大小必须在编译时确定,并且不能更改。

监听Web容器启动与关闭

在Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。 要监听web容器的启动与关闭,首先定义一个类继承ServletContextListener 接口: package com;import javax.servlet.ServletContextEvent;

C++ 关联容器使用 map, unordered_map, set, unordered_set, multiset, unordered_multiset

关联容器是否有序是否关联值是否可重复访问时间set是否否对数map是是否对数multiset是否是对数multimap是是是对数unordered_map否是否常数unordered_set否否否常数unordered_multiset否否是常数unordered_multimap否是是常数 #include <map>#include <set>#i

Spring框架的核心原则和IoC容器介绍

Spring框架是一个开源的应用程序框架,它遵循以下核心原则:   1.Inversion of Control(控制反转): Spring框架通过IoC容器管理对象的生命周期和依赖关系,而不是由程序代码直接创建对象。这样可以降低组件之间的耦合度,提高系统的灵活性和可维护性。 1.面向切面编程(AOP): Spring框架支持AOP,可以在不修改源码的情况下,增加新的功能,如日志、事务管理等