Uso de las funciones miembro de la clase de cola STL en Visual C++

En el código de ejemplo siguiente se muestra cómo usar las queue::pushfunciones , queue::pop, queue::empty, queue::back, queue::fronty queue::size STL en Visual C++. La información de este artículo solo se aplica al código de Visual C++ no administrado.

Versión original del producto:   Visual C++
Número de KB original:   157622

Resumen

El queue adaptador contiene objetos del tipo definido por el tipo de contenedor compatible con queue. Los dos contenedores admitidos son y list deque. Los objetos se insertan push() y quitan mediante pop(). front() devuelve el elemento más antiguo de queue (también conocido como FIFO) y back() devuelve el elemento más reciente insertado en queue.

Encabezado obligatorio

  • <queue>

Prototipos

queue::push();
queue::pop();
queue::empty();
queue::back();
queue::front();
queue::size();

Nota

Es posible que los nombres de clase o parámetro de los prototipos no coincidan con la versión del archivo de encabezado. Algunas se han modificado para mejorar la legibilidad.

Código de ejemplo

En el ejemplo se muestra la implementación de la cola mediante list contenedores y deque .

//////////////////////////////////////////////////////////////////////
// Compile options needed: none
// <filename> : queue.cpp
// Functions:
// queue::push(), queue::pop(), queue::empty(), queue::back(),
// queue::front(),queue::size()
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////

/* Compile options needed: /GX */
#include <list>
#include <iostream>
#include <queue>
#include <deque>
using namespace std;

#if _MSC_VER > 1020  // if VC++ version is > 4.2
    using namespace std; // std c++ libs implemented in std
#endif

// Using queue with list
typedef list<int, allocator<int>> INTLIST;
typedef queue<int, INTLIST> INTQUEUE;

// Using queue with deque
typedef deque<char *, allocator<char *>> CHARDEQUE;
typedef queue<char *, CHARDEQUE> CHARQUEUE;
void main(void)
{
    int size_q;
    INTQUEUE q;
    CHARQUEUE p;

    // Insert items in the queue(uses list)
    q.push(42);
    q.push(100);
    q.push(49);
    q.push(201);

    // Output the item inserted last using back()
    cout << q.back() << endl;

    // Output the size of queue
    size_q = q.size();
    cout << "size of q is:" << size_q << endl;

    // Output items in queue using front()
    // and use pop() to get to next item until
    // queue is empty
    while (!q.empty())
    {
        cout << q.front() << endl;
        q.pop();
    }

    // Insert items in the queue(uses deque)
    p.push("cat");
    p.push("ape");
    p.push("dog");
    p.push("mouse");
    p.push("horse");

    // Output the item inserted last using back()
    cout << p.back() << endl;

    // Output the size of queue
    size_q = p.size();
    cout << "size of p is:" << size_q << endl;

    // Output items in queue using front()
    // and use pop() to get to next item until
    // queue is empty
    while (!p.empty())
    {
        cout << p.front() << endl;
        p.pop();
    }
}

Salida del programa

201
size of q is:4
42
100
49
201
horse
size of p is:5
cat
ape
dog
mouse
horse

Referencias

Para obtener la misma información sobre las funciones miembro de la clase STL queue , vea queue.