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

相关文章

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

usaco 1.2 Milking Cows(类hash表)

第一种思路被卡了时间 到第二种思路的时候就觉得第一种思路太坑爹了 代码又长又臭还超时!! 第一种思路:我不知道为什么最后一组数据会被卡 超时超了0.2s左右 大概想法是 快排加一个遍历 先将开始时间按升序排好 然后开始遍历比较 1 若 下一个开始beg[i] 小于 tem_end 则说明本组数据与上组数据是在连续的一个区间 取max( ed[i],tem_end ) 2 反之 这个

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【2.1 深度学习中的感知机是什么】

2.1 深度学习中的感知机是什么 深度学习是机器学习的一个分支,它模拟人脑的工作方式来处理数据,尤其是通过神经网络的结构来自动提取数据的特征并进行分类、回归或其他复杂的任务。在深度学习的早期发展中,许多基础概念和模型为后续的复杂网络奠定了基础。其中,**感知机(Perceptron)**是一个非常重要的基础模型,它实际上是神经网络和深度学习的前身之一。 感知机的基本概念 感知机是一种二分

C++ STL关联容器Set与集合论入门

1. 简介 Set(集合)属于关联式容器,也是STL中最实用的容器,关联式容器依据特定的排序准则,自动为其元素排序。Set集合的底层使用一颗红黑树,其属于一种非线性的数据结构,每一次插入数据都会自动进行排序,注意,不是需要排序时再排序,而是每一次插入数据的时候其都会自动进行排序。因此,Set中的元素总是顺序的。 Set的性质有:数据自动进行排序且数据唯一,是一种集合元素,允许进行数学上的集合相

Spring容器上下文

目录 一 什么是spring容器上下文 二 spring容器上下文可以做什么 三 如何使用 1.实现ApplicationContextAware接口 2.代码测试 一 什么是spring容器上下文 你可以把它理解成就是spring容器,它主要用于管理Bean对象,包括bean的生命周期,bean的注入等等。 二 spring容器上下文可以做什么 我们刚刚上面