La cola es un tipo de contenedor que opera en un tipo de arreglo Primero en entrar, primero en salir (FIFO) . Los elementos se insertan en la parte posterior (final) y se eliminan del frente de la cola.
cola::empujar()
La función push() se usa para insertar un elemento al final de la cola. Esta es una función incorporada de C++ Standard Template Library (STL) . Esta función pertenece al archivo de cabecera <queue> . El elemento se agrega al contenedor de la cola y el tamaño de la cola aumenta en 1.
Sintaxis:
queuename.push(value)
Parámetros: El valor del elemento a insertar se pasa como parámetro.
Resultado: agrega un elemento de valor igual al del parámetro pasado al final de la cola.
Ejemplos:
Input : myqueue myqueue.push(6); Output : 6 Input : myqueue myqueue.push(0); myqueue.push(1); Output : 0, 1
Errores y excepciones:
- Muestra un error si el valor pasado no coincide con el tipo de cola.
- No muestra ninguna garantía de lanzamiento de excepción si el parámetro no lanza ninguna excepción.
CPP
// CPP program to illustrate // Implementation of push() function #include <iostream> #include <queue> using namespace std; int main() { // Empty Queue queue<int> myqueue; myqueue.push(0); myqueue.push(1); myqueue.push(2); // Printing content of queue while (!myqueue.empty()) { cout << ' ' << myqueue.front(); myqueue.pop(); } }
0 1 2
Nota: Aquí, la salida se imprime sobre la base de la propiedad FIFO .
cola::pop()
La función pop() se usa para eliminar un elemento del frente de la cola (el elemento más antiguo de la cola). Esta es una función incorporada de la biblioteca de plantillas estándar de C++ (STL). Esta función pertenece al archivo de cabecera <queue> . El elemento se elimina del contenedor de la cola y el tamaño de la cola se reduce en 1.
Sintaxis:
queuename.pop()
Parámetros: No se pasan parámetros
Resultado: elimina el elemento más antiguo de la cola o, básicamente, el elemento frontal.
Ejemplos:
Input : myqueue = 1, 2, 3 myqueue.pop(); Output : 2, 3 Input : myqueue = 3, 2, 1 myqueue.pop(); Output : 2, 1
Errores y excepciones:
- Muestra error si se pasa un parámetro.
- No muestra ninguna garantía de lanzamiento de excepción si el parámetro no lanza ninguna excepción.
CPP
// CPP program to illustrate // Implementation of pop() function #include <iostream> #include <queue> using namespace std; int main() { // Empty Queue queue<int> myqueue; myqueue.push(0); myqueue.push(1); myqueue.push(2); // queue becomes 0, 1, 2 myqueue.pop(); myqueue.pop(); // queue becomes 2 // Printing content of queue while (!myqueue.empty()) { cout << ' ' << myqueue.front(); myqueue.pop(); } }
2
Nota: Aquí, la salida se imprime sobre la base de la propiedad FIFO .
Aplicación: empujar() y pop()
Dada una cantidad de enteros, agréguelos a la cola y encuentre el tamaño de la cola sin usar la función de tamaño.
Input : 5, 13, 0, 9, 4 Output: 5
Algoritmo:
1. Empuje los elementos dados al contenedor de cola uno por uno.
2. Siga sacando los elementos de la cola hasta que la cola se vacíe e incremente la variable contador.
3. Imprima la variable de contador.
CPP
// CPP program to illustrate // Application of push() and pop() function #include <iostream> #include <queue> using namespace std; int main() { // Empty Queue int c = 0; queue<int> myqueue; myqueue.push(5); myqueue.push(13); myqueue.push(0); myqueue.push(9); myqueue.push(4); // queue becomes 5, 13, 0, 9, 4 // Counting number of elements in queue while (!myqueue.empty()) { myqueue.pop(); c++; } cout << c; }
5
Veamos las diferencias en forma tabular -:
empuje de cola() | hacer cola() | |
1. | Se utiliza para insertar un nuevo elemento al final de la cola. | Se utiliza para eliminar el siguiente elemento en la cola. |
2. | Su sintaxis es -: push (value_type&& val); |
Su sintaxis es -: pop(); |
3. | Toma un parámetro que es el valor a insertar. | No toma ningún parámetro. |
4. | Su tipo de retorno es nulo. | Su tipo de retorno es nulo. |
5. | Está presente en el archivo de encabezado <queue> . | Está presente en el archivo de encabezado <queue> . |
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA