C/Visual C - imprimir el contenido de una cola

 
Vista:

imprimir el contenido de una cola

Publicado por carlos (2 intervenciones) el 19/02/2003 19:21:41
tengo que mostrar el contenido de una cola pero cuando la recorro me modifica los valores alguien sabe de una procedimiento que solo muestre el contenido y no modifique los valores
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Mostrar contenido de cola sin modificar valores

Publicado por Alejandro (1153 intervenciones) el 06/05/2025 00:05:45
Para mostrar el contenido de una cola en C++ sin modificar los valores, puedes implementar un procedimiento que recorra la cola y copie los elementos a una estructura temporal para su visualización. Aquí te muestro un ejemplo de cómo hacerlo:

Ejemplo de código en C++



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <queue>
 
void mostrarCola(std::queue<int> cola) {
    // Creamos una copia de la cola para no modificar la original
    std::queue<int> copiaCola = cola;
 
    std::cout << "Contenido de la cola: ";
    while (!copiaCola.empty()) {
        std::cout << copiaCola.front() << " "; // Mostrar el elemento en la parte frontal
        copiaCola.pop(); // Eliminar el elemento de la copia
    }
    std::cout << std::endl;
}
 
int main() {
    std::queue<int> cola;
 
    // Agregar elementos a la cola
    cola.push(1);
    cola.push(2);
    cola.push(3);
 
    // Mostrar el contenido de la cola
    mostrarCola(cola);
 
    // Verificar que la cola original no ha sido modificada
    std::cout << "Contenido de la cola original después de mostrar: ";
    while (!cola.empty()) {
        std::cout << cola.front() << " ";
        cola.pop();
    }
    std::cout << std::endl;
 
    return 0;
}

Explicación



1. Copia de la cola: En la función `mostrarCola`, se crea una copia de la cola original. Esto asegura que los elementos de la cola original no se modifiquen al recorrerla.

2. Recorrido de la cola: Se utiliza un bucle `while` para recorrer la cola copia. Se muestra el elemento en la parte frontal de la cola usando `front()` y luego se elimina de la copia con `pop()`.

3. Verificación: Después de llamar a `mostrarCola`, se verifica que la cola original sigue intacta, mostrando sus elementos.

Este enfoque te permite mostrar el contenido de la cola sin modificar los valores originales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar