Las colas Deque o de doble extremo son contenedores de secuencia con la función de expansión y contracción en ambos extremos. Son similares a los vectores, pero son más eficientes en caso de inserción y eliminación de elementos al final, y también al principio. A diferencia de los vectores, es posible que no se garantice la asignación de almacenamiento contiguo.
La función push_front() se usa para insertar elementos en un deque desde el frente. El nuevo valor se inserta en el deque al principio, antes del primer elemento actual y el tamaño del contenedor aumenta en 1.
Sintaxis:
dequename.push_front(value) Parameters : The value to be added in the front is passed as the parameter Result : Adds the value mentioned as the parameter to the front of the deque named as dequename
Ejemplos:
Input : deque{1, 2, 3, 4, 5}; deque.push_front(6); Output : 6, 1, 2, 3, 4, 5 Input : deque{5, 4, 3, 2, 1}; deque.push_front(6); Output :6, 5, 4, 3, 2, 1
Errores y excepciones
1. Fuerte garantía de excepción: si se lanza una excepción, no hay cambios en el contenedor.
2. Si el valor pasado como argumento no es compatible con el deque, muestra un comportamiento indefinido.
// CPP program to illustrate // push_front() function #include <deque> #include <iostream> using namespace std; int main() { deque<int> mydeque{ 1, 2, 3, 4, 5 }; mydeque.push_front(6); // deque becomes 6, 1, 2, 3, 4, 5 for (auto it = mydeque.begin(); it != mydeque.end(); ++it) cout << ' ' << *it; }
Producción:
6 1 2 3 4 5
Complejidad de tiempo : O(1)
Aplicación
Dado un deque vacío, agréguele números enteros usando la función push_front() y luego calcule su tamaño.
Input : 1, 2, 3, 4, 5, 6 Output : 6
Algoritmo
1. Agregue elementos a la deque usando la función push_front()
2. Verifique si el tamaño de la deque es 0, si no, incremente la variable de contador inicializada como 0, y extraiga el elemento frontal.
3. Repita este paso hasta que el tamaño del deque sea 0.
4. Imprima el valor final de la variable.
// CPP program to illustrate // Application of push_front() function #include <deque> #include <iostream> using namespace std; int main() { int count = 0; deque<int> mydeque; mydeque.push_front(1); mydeque.push_front(2); mydeque.push_front(3); mydeque.push_front(4); mydeque.push_front(5); mydeque.push_front(6); while (!mydeque.empty()) { count++; mydeque.pop_front(); } cout << count; return 0; }
Producción:
6
Publicación traducida automáticamente
Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA