Professional Documents
Culture Documents
Documentación Interesante
Documentación Interesante
Estructuras de datos
Array
array<int> nums;
int[] nums;
data: El método data se utiliza para obtener un puntero al primer elemento del array.
Puede ser útil cuando se necesita pasar el array a una función que espera un
puntero.
begin: El método begin se utiliza para obtener un iterador que apunta al primer
elemento del array. Los iteradores se utilizan para recorrer los elementos de un
contenedor en C++. Puedes usar el iterador devuelto por begin en un bucle para
acceder a todos los elementos del array.
end: El método end se utiliza para obtener un iterador que apunta al elemento
siguiente al último elemento del array. Este iterador marca el final del rango válido
de elementos en el array. Al igual que con begin, puedes usar el iterador devuelto
por end en un bucle para recorrer todos los elementos del array.
empty: El método empty se utiliza para verificar si el array está vacío. Devuelve true
si el array no contiene elementos y false en caso contrario.
size: El método size se utiliza para obtener el número de elementos en el array.
Devuelve un valor entero que representa la cantidad de elementos presentes en el
array.
fill: El método fill se utiliza para asignar un valor específico a todos los elementos del
array. Toma un valor como argumento y asigna ese valor a cada elemento del array.
swap: El método swap se utiliza para intercambiar el contenido de dos arrays del
mismo tipo y tamaño. Los arrays deben ser del mismo tipo y tener el mismo tamaño
para que el intercambio sea válido.
get: No existe un método get específico en los arrays en C++. Sin embargo, puedes
acceder a los elementos de un array utilizando el operador de corchetes []. Por
ejemplo, myArray[0] devuelve el primer elemento del array myArray.
Vector
vector<int> nums;
data: El método data se utiliza para obtener un puntero al primer elemento del
vector. Puede ser útil cuando se necesita pasar el vector a una función que espera
un puntero.
begin: El método begin se utiliza para obtener un iterador que apunta al primer
elemento del vector. Los iteradores se utilizan para recorrer los elementos de un
contenedor en C++. Puedes usar el iterador devuelto por begin en un bucle para
acceder a todos los elementos del vector.
end: El método end se utiliza para obtener un iterador que apunta al elemento
siguiente al último elemento del vector. Este iterador marca el final del rango válido
de elementos en el vector. Al igual que con begin, puedes usar el iterador devuelto
por end en un bucle para recorrer todos los elementos del vector.
empty: El método empty se utiliza para verificar si el vector está vacío. Devuelve
true si el vector no contiene elementos y false en caso contrario.
capacity: El método capacity se utiliza para obtener la capacidad actual del vector,
es decir, el número máximo de elementos que puede contener sin necesidad de
asignar más memoria.
clear: El método clear se utiliza para eliminar todos los elementos del vector,
dejándolo vacío.
insert: El método insert se utiliza para insertar elementos en una posición específica
del vector. Puede tomar diferentes formas de argumentos, como un iterador y un
valor, o un rango de elementos.
erase: El método erase se utiliza para eliminar elementos de una posición específica
o un rango de posiciones del vector.
pop_back: El método pop_back se utiliza para eliminar el último elemento del vector.
resize: El método resize se utiliza para cambiar el tamaño del vector. Puede tomar
diferentes formas de argumentos, como un nuevo tamaño y un valor opcional para
inicializar los nuevos elementos.
swap: El método swap se utiliza para intercambiar el contenido de dos vectores del
mismo tipo y tamaño. Los vectores deben ser del mismo tipo y tener el mismo
tamaño para que el intercambio sea válido.
List
list<int> mi_lista;
Añadir, eliminar y mover los elementos dentro de la lista o a través de varias listas
no invalida los iteradores o referencias. Un iterador sólo se invalida cuando se
elimina el elemento correspondiente.
list<int> mi_lista;
mi_lista.push_back(10); // Insertar al final de la lista
mi_lista.push_front(5); // Insertar al principio de la lista
list<int> mi_lista;
mi_lista.push_back(10);
mi_lista.push_front(5);
insert: Este método se utiliza para insertar un elemento en una posición específica
de la lista.
list<int> mi_lista;
mi_lista.push_back(10);
mi_lista.push_back(20);
mi_lista.push_back(30);
list<int>::iterator it = mi_lista.begin();
advance(it, 1); // Avanzar el iterador a la posición deseada
list<int> mi_lista;
mi_lista.push_back(10);
mi_lista.push_back(20);
mi_lista.push_back(30);
cout << "Tamaño de la lista: " << mi_lista.size() << std::endl; // Imprimir el
tamaño de la lista (3)
lista.empty();
clear: Este método se utiliza para eliminar todos los elementos de la lista.
lista.clear();
begin y end: Estos métodos se utilizan para obtener iteradores que apuntan al
primer y último elemento de la lista, respectivamente.
reverse: Este método se utiliza para invertir el orden de los elementos en la lista.
lista.reverse();
sort: Este método se utiliza para ordenar los elementos de la lista en orden
ascendente.
lista.sort();
merge: Esta operación combina dos listas ordenadas en una sola lista ordenada.
Los elementos de ambas listas se insertan en la lista resultante de manera que se
mantenga el orden ascendente.
lista1.merge(lista2);
splice : Esta operación permite transferir elementos de una lista a otra lista en una
posición específica . Puede transferir un solo elemento, un rango de elementos o
incluso la lista completa.
list<int>::iterator it = lista1.begin();
advance(it, 2);
lista1.splice(it, lista2);
remove : Esta operación elimina todos los elementos de una lista que coinciden con
un valor específico.
lista.remove(2);
unique : Esta operación elimina los elementos duplicados consecutivos de una lista.
Solo se mantiene una instancia de cada elemento.
lista.unique();
resize: Este método se utiliza para cambiar el tamaño de una lista. Puedes
especificar el nuevo tamaño y, opcionalmente, el valor con el que se deben
inicializar los nuevos elementos.
lista.resize(5);
list<Persona> lista;
max_size: Este método devuelve el número máximo de elementos que la lista puede
contener.
lista.max_size()
lista.back()
lista.front()
Pair
pair es una plantilla de clase que proporciona una forma de almacenar dos objetos
heterogéneos como una sola unidad. Un par es un caso específico de una tupla
std::con dos elementos. Donde T1 y T2 son los tipos de los elementos que se
desean almacenar juntos.
first T1
second T2
coordinate.first = 0;
coordinate.second = 10;
par1.swap(par2);
int primer_elemento =
get<0>(mi_par); //
Acceder al primer
elemento (10)
string
segundo_elemento =
get<1>(mi_par); //
Acceder al segundo
elemento ("Hola")
Tuple
get: El método get se utiliza para acceder a los elementos de una tupla mediante su
índice. Por ejemplo, std::get<0>(myTuple) devuelve el elemento en la posición 0 de
la tupla myTuple.
tie: El método tie se utiliza para desempaquetar los elementos de una tupla en
variables individuales. Por ejemplo, std::tie(myInt, myString, myDouble) = myTuple
asigna los elementos de myTuple a las variables myInt, myString y myDouble.
make_tuple: El método make_tuple se utiliza para crear una nueva tupla con los
valores proporcionados . Por ejemplo, std::make_tuple(1, "dos", 3.14) crea una tupla
con los valores 1, "dos" y 3.14.
tuple_size: El método tuple_size se utiliza para obtener el tamaño de una tupla. Por
ejemplo, std::tuple_size<decltype(myTuple)>::value devuelve el tamaño de la tupla
myTuple.
Set
begin y end: Estos métodos devuelven iteradores que apuntan al primer y último
elemento del conjunto, respectivamente.
conjunto.begin();
conjunto.end();
empty y size: Estos métodos devuelven un valor booleano que indica si el conjunto
está vacío y el número de elementos en el conjunto, respectivamente.
conjunto.empty()
conjunto.size()
conjunto.max_size()
clear: Este método elimina todos los elementos del conjunto.
conjunto.clear();
conjunto.insert(4);
set<Persona> conjunto;
// Utilizando emplace
conjunto.emplace("Juan", 25);
// Utilizando emplace_hint
auto hint = conjunto.end();
conjunto.emplace_hint(hint, "María", 30);
conjunto.erase(2);
conjunto1.swap(conjunto2);
conjunto1.merge(conjunto2);
if (conjunto.count(2) > 0) {}
auto it = conjunto.find(3);
if (it != conjunto.end()) {}
contains: Este método devuelve un valor booleano que indica si el conjunto contiene
un elemento específico.
if (conjunto.contains(2)) {}
erase_if: Este método elimina elementos del conjunto que cumplen cierta condición.
Map
mapa.size();
mapa.max_size();
mapa.clear();
mapa.insert(std::make_pair(1, "Uno"));
mapa.emplace(5, "Cinco");
mapa.try_emplace(7, "Siete");
mapa.erase(4);
mapa.swap(otroMapa);
otroMapa.extract(5).mapped();
mapa1.merge(mapa2);
count: devuelve el número de elementos que coinciden con una clave específica
mapa1.count(6);
mapa1.find(6);
mapa1.contains(6);
mapa1.equal_range(6);
lower_bound: devuelve un iterador al primer elemento no menor que la clave dada
mapa1.lower_bound(6);
mapa1.upper_bound(6);
mapa1.key_comp();
mapa1.value_comp();
Queue
queue<int> cola;
La plantilla de la clase actúa como una envoltura del contenedor subyacente - sólo
se proporciona un conjunto específico de funciones. La cola empuja los elementos
en la parte trasera del contenedor subyacente y los saca de la parte delantera.
std::queue<int> myQueue;
myQueue.emplace(42); // Inserta el elemento 42 en la parte posterior de la
cola
swap: El método swap se utiliza para intercambiar el contenido de dos colas del
mismo tipo y tamaño. Las colas deben ser del mismo tipo y tener el mismo tamaño
para que el intercambio sea válido.
std::queue<int> queue1;
std::queue<int> queue2;
std::queue<int> myQueue;
myQueue.push(42); // Agrega el elemento 42 a la parte posterior de la cola
pop: El método pop se utiliza para eliminar el elemento de la parte frontal de la cola.
std::queue<int> myQueue;
myQueue.push(42); // Agrega el elemento 42 a la parte posterior de la cola
myQueue.pop(); // Elimina el elemento de la parte frontal de la cola
Deque
deque<int> partida;
deque (double-ended queue) es un contenedor secuencial indexado que permite la
inserción y eliminación rápidas tanto al principio como al final. Además, la inserción
y eliminación en cualquiera de los extremos de un deque nunca invalida los
punteros o referencias al resto de los elementos.
erase: El método erase se utiliza para eliminar uno o varios elementos de un deque
en una posición específica o en un rango determinado.
begin: El método begin se utiliza para obtener un iterador que apunta al primer
elemento del deque.
end: El método end se utiliza para obtener un iterador que apunta al elemento
siguiente al último elemento del deque.
at: El método at se utiliza para acceder a un elemento en una posición específica del
deque. Realiza una verificación de límites y lanza una excepción out_of_range si la
posición está fuera del rango válido.
std::deque<int> myDeque;
myDeque.assign({1, 2, 3, 4, 5}); // Asigna los valores 1, 2, 3, 4, 5 al deque
empty: El método empty se utiliza para verificar si el deque está vacío. Devuelve
true si el deque no contiene elementos y false en caso contrario.
insert: El método insert se utiliza para insertar uno o varios elementos en una
posición específica del deque. Puede recibir una posición y un valor, una posición y
un rango de elementos, o una posición y una lista de inicialización.
std::deque<int> myDeque = {1, 2, 3, 4, 5};
myDeque.insert(myDeque.begin() + 2, 42); // Inserta el valor 42 en la posición
2 del deque
swap: El método swap se utiliza para intercambiar el contenido de dos deques del
mismo tipo y tamaño. Los deques deben ser del mismo tipo y tener el mismo
tamaño para que el intercambio sea válido.
clear: El método clear se utiliza para eliminar todos los elementos del deque,
dejándolo vacío.
Priority Queue
priority_queue<int> fila_banco;
pq.top()
pq.size()
pq.push(5);
pq.pop();
pq.emplace(5, "C");
pq1.swap(pq2);
Stack
stack<int> barajas;
La clase stack es un adaptador de contenedor que proporciona al programador la
funcionalidad de una pila - específicamente, una estructura de datos LIFO (último en
entrar, primero en salir).
La plantilla de clase actúa como una envoltura del contenedor subyacente - sólo se
proporciona un conjunto específico de funciones. La pila empuja y saca el elemento
de la parte posterior del contenedor subyacente, conocido como la parte superior de
la pila.
top: El método top en la clase stack de C++ se utiliza para acceder al elemento
superior (el elemento en la parte superior) de la pila sin eliminarlo. Devuelve una
referencia al elemento superior de la pila.
s.top()
empty: El método empty en la clase stack de C++ se utiliza para verificar si la pila
está vacía o no. Devuelve true si la pila está vacía y false si no lo está.
s.empty()
size: El método size en la clase stack de C++ se utiliza para obtener el número de
elementos en la pila. Devuelve un valor entero que representa el tamaño de la pila.
s.size()
push: El método push en la clase stack de C++ se utiliza para agregar un elemento
a la parte superior de la pila. Toma el elemento que se va a agregar como
argumento.
s.push(5);
pop: El método pop en la clase stack de C++ se utiliza para eliminar el elemento
superior de la pila. No devuelve ningún valor.
s.pop();
emplace: El método emplace en la clase stack de C++ se utiliza para construir y
agregar un elemento a la parte superior de la pila. Toma los argumentos necesarios
para construir el elemento.
s.emplace(5, "C");
s1.swap(s2);
Librería Math
La librería Math en C++ proporciona una serie de funciones matemáticas
predefinidas que se pueden utilizar en programas C++. Estas funciones permiten
realizar operaciones matemáticas comunes, como cálculos trigonométricos,
operaciones exponenciales, redondeo, generación de números aleatorios, entre
otros.