English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En el campo de la informática, nos dedicamos a varios programas. Cada uno tiene su propio dominio y utilidad. Según el propósito de creación del programa y el entorno, tenemos una gran cantidad de estructuras de datos disponibles para elegir. Una de ellas es la "cola". Antes de discutir este tipo de datos, veamos su sintaxis.
template<class T, class Container = deque<T> > class queue;
Esta estructura de datos es adecuada para la técnica FIFO, donde FIFO significa primero en, primero out. El elemento insertado primero será el primero en ser extraído, y así sucesivamente. Hay un elemento llamado "frente" que es el elemento ubicado en la posición más anterior o la primera posición, y también hay un elemento llamado "atras" que es el elemento ubicado en la última posición. En la cola común, la inserción de elementos se realiza en la cola, mientras que la eliminación se realiza desde la parte frontal.
La cola implícita en el área de aplicación es un adaptador de contenedor.
El contenedor debe soportar la siguiente lista de operaciones:
empty
size
push_back
pop_front
front
back
T:parámetro que especifica el tipo de elementos que se conservarán en el adaptador de contenedor.
Container:parámetro que especifica el objeto interno del contenedor, donde se conservan los elementos de la cola.
A continuación se proporciona una lista de tipos de miembros de la cola y se realiza una descripción breve de los mismos.
Tipos de miembros | Descripción |
---|---|
value_type | Especifica el tipo de elemento. |
container_type | Especifica el tipo de contenedor subyacente. |
size_type | Especifica el rango de tamaño del elemento. |
reference | Es un tipo de referencia de contenedor. |
const_reference | Es un tipo de referencia de contenedor constante. |
A través de las funciones, se pueden usar objetos o variables en el campo de la programación. La cola proporciona una gran cantidad de funciones que se pueden usar o incrustar en el programa. La lista es la siguiente:
Función | Descripción |
---|---|
(constructor) | Esta función se utiliza para construir el contenedor de cola. |
empty | Esta función se utiliza para probar si la cola está vacía. Si la cola está vacía, esta función devuelve true, de lo contrario devuelve false. |
size | Esta función devuelve el número de elementos en la cola. |
front | Esta función devuelve el primer elemento. Este elemento tiene un papel muy importante, ya que todas las operaciones de eliminación se realizan en el elemento frontal. |
back | Esta función devuelve el último elemento. Este elemento tiene un papel muy importante, ya que todas las operaciones de inserción se realizan en el elemento siguiente. |
push | Esta función se utiliza para insertar un nuevo elemento en la cola. |
pop | Esta función se utiliza para eliminar el primer elemento. |
emplace | Esta función se utiliza para insertar un nuevo elemento sobre el elemento siguiente actual. |
swap | Esta función se utiliza para intercambiar el contenido de dos contenedores referenciados. |
operadores relacionales | Las funciones no miembro especifican los operadores de relación necesarios para la cola. |
uses allocator<queue> | Como su nombre indica, las funciones no miembro utilizan el administrador de memoria para la cola. |
#include <iostream> #include <queue> using namespace std; void showsg(queue <int> sg) { queue <int> ss = sg; while (!ss.empty()) { cout << "\t" << ss.front(); ss.pop(); } cout << "\n"; } int main() { queue <int> fquiz; fquiz.push(10); fquiz.push(20); fquiz.push(30); cout << "\nLa cola fquiz es : "; showsg(fquiz); cout << "\nfquiz.size() : " << fquiz.size(); cout << "\nfquiz.front() : " << fquiz.front(); cout << "\nfquiz.back() : " << fquiz.back(); cout << "\nfquiz.pop() : "; fquiz.pop(); showsg(fquiz); return 0; }
Salida:
La cola fquiz es : 10 20 30 fquiz.size() : 3 fquiz.front() : 10 fquiz.back() : 30 fquiz.pop() : 20 30