Red de conocimiento informático - Problemas con los teléfonos móviles - Contenedores para STL

Contenedores para STL

En el desarrollo del mundo real, la estructura de datos en sí es tan importante como los algoritmos que operan sobre ella.

El número de estructuras de datos clásicas es limitado, pero a menudo reutilizamos códigos escritos para implementar vectores, listas enlazadas, etc. Estos códigos son muy similares, pero se adaptan en detalle a los cambios en diferentes datos. Los contenedores STL brindan esta función al permitirnos construir nuestras propias estructuras de datos de tipo específico configurando algunas clases de plantilla para reutilizar implementaciones existentes. Al configurar algunas clases de plantilla, los contenedores STL brindan soporte para las estructuras de datos más utilizadas. Los parámetros de estas plantillas nos permiten especificar los tipos de datos de los elementos en el contenedor, simplificando así muchas tareas repetitivas y tediosas.

La parte del contenedor consta principalmente de los archivos de encabezado lt; vectorgt;, lt; listgt;, lt; queuegt; . Para algunos contenedores y adaptadores de contenedor comunes (que pueden considerarse contenedores implementados por otros contenedores), puede resumir la correspondencia entre ellos y los archivos de encabezado correspondientes en la siguiente tabla.

Contenedor secuencial

Vector (vector) elementos almacenados continuamente lt; vectorgt;

Lista (lista) Una lista de nodos doblemente enlazada, cada nodo contiene un elemento. lt; listgt;

Una cola de doble extremo (deque) almacena continuamente una matriz de punteros que apuntan a diferentes elementos listgt;. Matriz de punteros a diferentes elementos) Organizar valores de primero en entrar, primero en salir lt;queuegt;

El orden de los elementos de la cola de prioridad (priority_queue) está determinado por su orden de almacenamiento. cola) una cola en la que el orden de los elementos está determinado por algún predicado que actúa sobre el valor almacenado pairslt;queuegt;

contenedor asociativo

set) un árbol rojo-negro compuesto de nodos , Cada nodo contiene un elemento, y los nodos están ordenados por algún predicado que actúa sobre pares de elementos, de modo que dos elementos diferentes no pueden tener el mismo orden lt;queuegt;

set) Un árbol consta de nodos Un árbol rojo-negro que consta de cada nodo que contiene un elemento, ordenado según algún predicado que actúa sobre pares de elementos, de modo que dos elementos diferentes no pueden tener el mismo orden. No pueden haber dos elementos diferentes con el mismo orden lt; setgt;

multiset) permite la existencia de dos conjuntos de elementos con el mismo orden lt;

map) en un determinado orden. Un conjunto de pares {clave, valor} que actúa sobre una disposición de predicados de pares de claveslt; mapgt;

multimap (multimap) Un conjunto que permite que los pares de claves tengan el mismo orden, con nodos actuando sobre un determinado parte del par de claves Una disposición de predicados

múltiples mapas (Mapeo múltiple) Un mapa que permite que los pares de claves tengan el mismo orden

Mapeo múltiple (Mapeo múltiple ) Un mapa que permite pares de claves Mapas con el mismo orden