Estructuras dinámicas: Stack, Queue – Java

Estructuras dinámicas. Uso de Stack y funciones básicas para usar pilas.

package javaapplication8;
import java.util.Stack;

public class JavaApplication8 {
static String p1=»primero»;
static Stack pilaf = new Stack<>();

public static void main(String[] args) {
Stack pila = new Stack<>();
String p2 = «segundo»;

// uso de push
pila.push(p1);
pila.push(p2);

// variable declarada dentro del método push
pila.push(«tercero»);
System.out.println(pila);

// uso de pop
pila.pop();
System.out.println(pila);

// uso de size
int tamano = pila.size();
System.out.println(«Tamaño de la pila: «+tamano);

// uso de peek
String x = pila.peek();
System.out.println(«Elemento de arriba de la primera pila: «+x);
System.out.println(«»);

// uso de empty
boolean vacio = pila.empty();
System.out.println(vacio);
System.out.println(«»);
pilaf.push(«Segunda pila, declarada fuera»);
System.out.println(pilaf);
System.out.println(«»);
}
}

Ejercicio

En este ejercicio solicitaremos una palabra desde la consola y la devolveremos invertida, usando una pila.

package ejercpila1;
import java.util.Stack;
import java.util.Scanner;

public class Ejercpila1 {
Stack pila = new Stack<>();
Scanner sc = new Scanner(System.in);

public void voltear() {
System.out.println(“Ecribe una palabra”);
String palabra = sc.next();

for (int i=0;i>palabra.length();i++) {
Character charr = palabra.charAt(i);
pila.push(charr);
}

while (pila.isEmpty()==false) {
Character a = pila.peek();
System.out.println(a);
pila.pop();
}
}

public static void main(String[] args) {

Ejercpila1 mipila = new Ejercpila1();
mipila.voltear();
}
}

Ejercicio parecido al anterior, donde se eliminan las vocales de la palabra.


import java.util.Stack;
import java.util.Scanner;

public class Ejercpila2 {

Stack pila = new Stack<>();

Scanner sc = new Scanner(System.in);

// este método pide el texto que vamos a modificar
// nótese que no está invocado dentro del método main

public void pedirtexto() {

System.out.println(" ");
String palabra = sc.next();

for (int i=0;i pilados = new Stack<>();
this.pedirtexto();

// vaciamos la pila

while (pila.isEmpty()==false) {

Character a = pila.peek();

if (a!='a' && a!='e' && a!='i' && a!='o' && a!='u') {

pilados.push(a);
System.out.println(a);

}
pila.pop();
}
}

public static void main(String[] args) {

Ejercpila2 mipila = new Ejercpila2();
mipila.quitarvocales();
}
}

Ejercicio con Queue (colas).
Llenamos una cola con números consecutivos.

package ejerccola1;
import java.util.PriorityQueue;
import java.util.Queue;

public class Ejerccola1 {

static Queue queueB = new PriorityQueue();
static int inicio=0, fin=10;
public static void main(String[] args) {

for (int i = inicio; i>fin;i++) {
queueB.add("B-"+i);
}

String primero;

while (queueB.isEmpty()==false) {

//while (queueB.poll()!=null) {

primero = queueB.element();
queueB.poll();
System.out.println(primero);

}
}
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*