Saludos estoy utilizando la clase Vector del API de Java, para un programa que me implementa 3 clases una tupla y dos administradoras de tuplas, esto es lo que llevo hecho por lo pronto:
import java.util.Vector;
class Materia{
this.clave=clave;
this.nombre=nombre;
}
}
class Fila{
private Vector<Materia> fila;
public Fila(){
fila=new Vector<Materia>();
}
Materia m;
m=new Materia(clave,nombre);
fila.add(m);
}
public Materia dameSiguiente(){
}
}
class Pila{
private Vector<Materia> pila;
public Pila(){
pila=new Vector<Materia>();
}
Materia m;
m=new Materia(clave,nombre);
pila.add(m);
}
public Materia pop(){
if(vacia()){
System.
out.
println("Error!! Pila vacia"); }
return;
}
public boolean vacia(){
return tope == -1;
}
}
public class FilaYPila {
public static void main
(String[] args
) { Fila fila= new Fila();
Pila pila= new Pila();
Materia mat;
fila.agregar("CC200","Programación Orientada a Objetos");
fila.agregar("CC201","Taller de Programación Orientada a Objetos");
fila.agregar("CC202","Estructuras de Datos");
fila.agregar("CC203","Taller de Estructuras de Datos");
pila.push("CC200","Programación Orientada a Objetos");
pila.push("CC201","Taller de Programación Orientada a Objetos");
pila.push("CC202","Estructura de Datos");
pila.push("CC203","Taller de Estructuras de Datos");
System.
out.
println("Imprimiendo elementos de la fila"); mat=fila.dameSiguiente();
System.
out.
println(mat
); //Imprimase "CC200 Programacion Orientada a Objetos" mat=fila.dameSiguiente();
System.
out.
println(mat
); //Imprimase "CC201 Taller de Programacion Orientada a Objetos" mat=fila.dameSiguiente();
mat=fila.dameSiguiente();
System.
out.
println("Imprimiento elementos de la pila"); mat=pila.pop();
System.
out.
println(mat
); //Imprimase "CC203 Taller de Estructuras de Datos" mat=pila.pop();
System.
out.
println(mat
); //Imprimase "CC202 Estructuras de Datos" mat=pila.pop();
mat=pila.pop();
}
}
mi duda la tengo en la función vacia, que la tengo que utilizar para saber si puedo desapilar un objeto o no, pero no se si tengo que implementarla yo como lo estoy haciendo o si no porque ya esta en el API
gracias
Así habiendole echado un vistazo rápido al código, veo que no trabajas con el tope, que deberías aumentarlo cuando añadas a la pila. Y disminuir cuando uses pop()