Resumen de Contenedores en C++ STL

Los contenedores comúnmente utilizados se resumen a continuación:

  • vector : un contenedor de matriz dinámica que admite acceso aleatorio, inserción y eliminación de colas, y es adecuado para escenarios que requieren acceso aleatorio rápido y adición y eliminación de elementos poco frecuentes.

  • list : un contenedor de lista doblemente vinculado que admite iteradores bidireccionales, operaciones de inserción y eliminación altas, y es adecuado para escenarios con operaciones frecuentes de inserción y eliminación.

  • deque : un contenedor de cola de dos extremos que admite el acceso aleatorio, la inserción y la eliminación de la cabeza a la cola, y es adecuado para escenarios que requieren la inserción y eliminación frecuentes de elementos en la cabeza y la cola.

  • pila : el contenedor de pila, implementado con deque o lista en la capa inferior, solo admite la inserción y eliminación de elementos en la parte superior de la pila, y es adecuado para escenarios que requieren el último en entrar, primero en salir (LIFO).

  • cola : contenedor de cola, implementado con deque o lista en la capa inferior, solo admite la inserción al final de la cola y la eliminación de elementos al principio de la cola, adecuado para escenarios que requieren primero en entrar, primero en salir (FIFO) .

  • Priority_queue : contenedor de cola de prioridad, implementado con un montón en la capa inferior, admite la búsqueda rápida y la eliminación de elementos en la parte superior del montón, y es adecuado para escenarios donde los elementos deben procesarse de acuerdo con una determinada prioridad.

  • conjunto : el contenedor de colección, implementado con un árbol rojo-negro en la capa inferior, admite la inserción, eliminación y búsqueda de elementos, y los elementos se ordenan automáticamente de acuerdo con el valor clave, lo cual es adecuado para escenarios que deben ordenarse de acuerdo con el valor clave y no puede tener elementos duplicados.

  • mapa : contenedor de mapeo, implementado por un árbol rojo-negro en la capa inferior, admite búsqueda rápida, inserción y eliminación de valores por clave, y los elementos se ordenan automáticamente por valor clave, adecuado para escenarios que deben ordenarse por valor clave y no puede tener llaves duplicadas.

  • unordered_set : un contenedor de colección implementado por una tabla hash, que admite la inserción, eliminación y búsqueda rápidas de elementos, y no garantiza el orden de los elementos. Es adecuado para escenarios que requieren búsqueda, inserción y eliminación rápidas de elementos sin orden .

  • unordered_map : un contenedor de mapeo implementado por una tabla hash, que admite búsqueda, inserción y eliminación rápidas de valores por clave, y no garantiza el orden de los elementos. Es adecuado para escenarios que requieren búsqueda, inserción y eliminación rápidas. de pares clave-valor y no requiere orden.

Supongo que te gusta

Origin blog.csdn.net/hu853712064/article/details/129767367
Recomendado
Clasificación