Académique Documents
Professionnel Documents
Culture Documents
NULL
Cima Fin
(Inicio)
// Utiliza la clase Leer y la clase NodoError que
// deben estar almacenadas en la misma carpeta
class pila {
int info;
pila sig;
pila inicio;
pila fin;
pila(){
inicio = fin = sig = null;
}
public void anula(){
inicio = fin = null;
}
public void apila(int x) throws NodoError
{
pila nuevo;
nuevo = new pila();
if(nuevo==null)
throw new NodoError("Error de asignacion");
else{
nuevo.info = x;
// Pone al principio de la pila
if(inicio!=null) nuevo.sig = inicio;
inicio = nuevo;
if(fin==null) fin = inicio;
}
}
public void desapila() throws NodoError
{
if(inicio==null)
throw new NodoError("Pila vaca");
else // Quitar del principio de la pila
inicio = inicio.sig;
}
public int cima() throws NodoError
{
if (inicio==null)
throw new NodoError("Pila vaca");
else
return (inicio.info);
}
public void contenido(){
pila p;
System.out.println("impresin de la pila");
p=inicio;
while(p!=null){
System.out.println(p.info);
p=p.sig;
}
System.out.println();
}
}
}
}
a, b, c, d, e
Frente
Fin
1.2.1. OPERACIONES
Las operaciones bsicas que caracterizan a una cola
son las siguientes:
NULL
Frente Fin
(Inicio)
// Utiliza la clase Leer y la clase NodoError que
// deben estar almacenadas en la misma carpeta
sw=1;
do{
System.out.println("\n\n\n\nProcesamiento de una
cola\n");
System.out.println("0. Salir");
System.out.println("1. Anula cola");
System.out.println("2. Inserta cola");
System.out.println("3. Contenido de la cola");
System.out.println("4. Suprime cola");
System.out.println("5. Frente");
System.out.print("Opcion ==> ");
opcion=Leer.datoInt();
switch(opcion){
case 0: sw=0;break;
case 1: C.anula();break;
case 2: System.out.print("Valor a insertar ==>");
x=Leer.datoInt();
C.inserta_cola(x);
break;
case 3: C.contenido();break;
case 4:
try{
C.suprime_cola();
}
catch(NodoError e){
System.out.println(e.getMessage());
}
finally{
break;
}
case 5:
try{
x=C.frente();
System.out.println("Valor del frente es:
"+x);
}
catch(NodoError e){
System.out.println(e.getMessage());
}
finally{
break;
}
}
}while(sw==1);
}
}
ta=Leer.datoFloat();
System.out.print("Tiempo de espera ==> ");
te=Leer.datoFloat();
try {
inserta_cola(n,ta,te);
}
catch (NodoError e){}
}
}
public void calcular_prom_ta_may_te(){
ColaPromedio p;
float mayte=-1,sumata=0.0f;
int cant=0; //cantidad de elementos
System.out.println("\n\nImpresion calculos");
p=inicio;
while(p!=null){
sumata+=p.tia;
if (p.tie>mayte) mayte=p.tie;
cant++;
p=p.sig;
}
System.out.println("Promedio de tiempo de atencion "+
sumata/cant);
System.out.println("Mayor tiempo de espera "+mayte);
}
public static void main(String []args){
ColaPromedio C=new ColaPromedio();
C.leer_datos();
C.contenido();
C.calcular_prom_ta_may_te();
}
}
if (car=='(' ||
car=='[' ||
car=='{')
try {
apila(car);
}
catch (NodoError e){
System.err.println(e.getMessage());
}
if (car==')' ||
car==']' ||
car=='}')
if(inicio==null)
valid=false;
else {
switch(car){
case ')':
car1='(';break;
case ']':
car1='[';break;
case '}':
car1='{';break;
}
try{
car2=cima();
desapila();
if(car1!=car2) valid=false;
}
catch (NodoError e){
valid=false;
}
}
i++;
}
if(inicio!=null)
valid=false;
if (valid)
System.out.println("\nExpresion valida");
else
System.out.println("\nExpresion invalida");
}
}
String expresion;
FileReader archivo;
BufferedReader archivoIn = null;
try{
archivo=new FileReader("test.txt");
archivoIn=new BufferedReader(archivo);
while((expresion=archivoIn.readLine())!=null){
System.out.println("\n\n\nExpresion : "+expresion);
P.evalua_exp(expresion);
}
}
catch(IOException e){
System.out.println(e);
}
finally{
try{
if(archivoIn!=null)
archivoIn.close();
}
catch(IOException e){
}
}
}
}