Las colas en STL son un tipo de adaptadores de contenedores que operan en un tipo de arreglo de primero en entrar, primero en salir (FIFO) donde los elementos se insertan en la parte posterior (extremo) y se eliminan desde el frente. La cola de pares puede ser muy eficiente en el diseño de estructuras de datos complejas. Se hace referencia al primer elemento como ‘primero’ y al segundo elemento como ‘segundo’ y el orden es fijo (primero, segundo).
Sintaxis:
Cola<par<tipo de datos, tipo de datos>> cola_de_par;
A continuación se muestran las imágenes para mostrar el funcionamiento de Queue of Pairs:
A continuación se muestra un ejemplo para mostrar la cola de pares:
CPP
// C++ program to demonstrate // the working of STL queue of pairs #include <bits/stdc++.h> using namespace std; // Print the current pair void printPair(pair<int, int> p) { // Gives first element from queue pair int f = p.first; // Gives second element from queue pair int s = p.second; cout << "(" << f << ", " << s << ") "; } // Print the Queue of Pairs void showQueue(queue<pair<int, int> > gq) { // Print element until the // queue is not empty while (!gq.empty()) { printPair(gq.front()); gq.pop(); } cout << '\n'; } // Driver code int main() { queue<pair<int, int> > gq; // Pushing elements inside // the queue container gq.push({ 10, 20 }); gq.push({ 15, 5 }); gq.push({ 1, 5 }); gq.push({ 5, 10 }); gq.push({ 7, 9 }); cout << "Queue of Pairs: "; showQueue(gq); // Prints size of queue cout << "\nSize of Queue of Pairs: " << gq.size(); // Prints first element // of queue container cout << "\nFront of Queue of Pairs: "; printPair(gq.front()); // Prints last element // of queue container cout << "\nBack of Queue of Pairs: "; printPair(gq.back()); cout << "\n\nRemoving the Front pair\n"; gq.pop(); cout << "Current Queue of Pairs: "; showQueue(gq); return 0; }
Producción:
Queue of Pairs: (10, 20) (15, 5) (1, 5) (5, 10) (7, 9) Size of Queue of Pairs: 5 Front of Queue of Pairs: (10, 20) Back of Queue of Pairs: (7, 9) Removing the Front pair Current Queue of Pairs: (15, 5) (1, 5) (5, 10) (7, 9)