La STL (Standard Template Library) en C++ es un conjunto de estructuras de datos y algoritmos listos para usar que proporcionan herramientas poderosas para resolver problemas comunes en programación. Vamos a explorar algunas de las estructuras de datos y algoritmos más importantes disponibles en la STL de C++.
Estructuras de Datos en la STL
1.Vector
Estructura de datos de tipo array dinámico.
Permite acceso aleatorio y crecimiento dinámico.
#include <vector>
std::vector<int> myVector; // Vector de enteros
2.Lista
Estructura de datos de lista doblemente enlazada.
Permite inserciones y eliminaciones eficientes en cualquier posición.
#include <list>
std::list<int> myList; // Lista de enteros
3.Cola (Queue)
Estructura de datos tipo cola (FIFO - First In, First Out).
#include <queue>
std::queue<int> myQueue; // Cola de enteros
4.Pila (Stack)
Estructura de datos tipo pila (LIFO - Last In, First Out).
#include <stack>
std::stack<int> myStack; // Pila de enteros
5.Map y Unordered Map
Estructuras de datos de tipo diccionario.
Map: Almacenamiento clave-valor ordenado por la clave.
Unordered Map: Almacenamiento clave-valor no ordenado.
#include <map>
#include <unordered_map>
std::map<std::string, int> myMap; // Mapa de cadena a entero
std::unordered_map<std::string, int> myUnorderedMap; // Mapa no ordenado de cadena a entero
Algoritmos en la STL
1.Ordenamiento
`sort`: Ordena una colección en orden ascendente.
#include <algorithm>
std::vector<int> myVector = {3, 1, 4, 1, 5, 9};
std::sort(myVector.begin(), myVector.end());
2.Búsqueda
`find`: Busca un elemento en una colección.
auto it = std::find(myVector.begin(), myVector.end(), 5);
if (it != myVector.end()) {
std::cout << "Elemento encontrado." << std::endl;
}
3.Inversión
`reverse`: Invierte el orden de los elementos en una colección.
std::reverse(myVector.begin(), myVector.end());
4.Eliminar Duplicados
`unique`: Elimina elementos duplicados de una colección.
auto last = std::unique(myVector.begin(), myVector.end());
myVector.erase(last, myVector.end());
Estos son solo algunos ejemplos de las muchas estructuras de datos y algoritmos disponibles en la STL de C++. La STL es una herramienta poderosa que te permite escribir código eficiente y reutilizable.