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
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
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
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