La plataforma de Yahoo Respuestas cerrará definitivamente el próximo 4 de mayo de 2021 y solo estará disponible en modo de lectura. Ningún otro producto de Yahoo ni tu cuenta personal se verán afectados por este cambio. Si necesitas más información sobre el cierre de Yahoo Respuestas y cómo descargar tus datos puedes acceder a esta página de ayuda.

¿ayuda con pilas y colas en Java?

Hola, me gustaría saber si me pueden ayudar con el siguiente problema en Java.

Dada una Pila y una Cola que contienen caracteres almacenados, los cuales se pueden repetir,

elabore un programa en Java, que genere una lista final con la información de ambas

estructuras, sin que se repitan las letras, debe de imprimir la lista final.

Doy 10 puntos y 5 estrellas.!!

Gracias

Actualización:

Perdon, ya tengo el código de la pila y la cola, lo que no entiendo es como hacer para guardar los caracteres en una nueva cola o pila e imprimirlas

1 respuesta

Calificación
  • Anónimo
    hace 10 años
    Respuesta preferida

    Espero te sirva esta solución.

    import java.util.*;

    public class Programa {

    public static void main(String[] args) {

    Scanner entrada = new Scanner(System.in);

    String dato;

    char caracter;

    Stack<Character> pila = new Stack<Character>();

    Queue<Character> cola = new LinkedBlockingQueue<Character>();

    List<Character> lista = new LinkedList<Character>();

    System.out.println("Ingrese caracteres a la pila presionando ENTER en cada entrada y caracter vacío para terminar el ingreso.");

    while((dato=entrada.nextLine( )).length()>0)

    pila.add(dato.charAt(0));

    System.out.println("Ingrese caracteres a la cola presionando ENTER en cada entrada y caracter vacío para terminar el ingreso.");

    while((dato=entrada.nextLine( )).length()>0)

    cola.add(dato.charAt(0));

    while(!pila.isEmpty()) {

    caracter = pila.pop();

    if(!lista.contains(caracter))

    lista.add(caracter);

    }

    while(!cola.isEmpty()) {

    caracter = cola.poll();

    if(!lista.contains(caracter))

    lista.add(caracter);

    }

    System.out.println(lista);

    }

    }

¿Aún tienes preguntas? Pregunta ahora para obtener respuestas.