//--Multiple Pilas
//--
class Menu_Multi_Pila
{
public static void main(String arr[])
{
Multi_Pilas mp;
mp = new Multi_Pilas();
int opc,pila;
do
{
System.out.println("\n\n-º-º-º Menu Multi Pilasº-º-º"); System.out.print("\nº-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º");
System.out.print("\nº 1.Introducir un elemento º");
System.out.print("\nº 2.Eliminar un elemento º");
System.out.print("\nº 3.Mostrar elementos º");
System.out.print("\nº 4.Consultar el primero º");
System.out.print("\nº 5.Consultar el ultimo º");
System.out.print("\nº-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º");
System.out.print("\nSeleccione una opcion --->");
opc=Teclado.readInt();
switch(opc)
{
case 1: System.out.print("\n Seleccione Pila: ");
pila=Teclado.readInt();
if(pila > 4)
{
opc= 5;
System.out.print("\n Fuera de rango...");
}
else
{
mp.Push_Insertar(pila-1);
}
break;
case 2: System.out.print("\n Seleccione Pila: ");
pila=Teclado.readInt();
if(pila > 4)
{
opc = 5;
System.out.print("\n Fuera de rango...");
}
else
{
mp.Pop_Eliminar(pila);
}
break;
case 3: System.out.print("\n Seleccione Pila: ");
pila=Teclado.readInt();
if(pila > 4)
{
opc = 5;
System.out.print("\n Fuera de rango...");
}
else
{
mp.ImpElementos(pila-1);
}
break;
case 4: System.out.print("\n Seleccione Pila: ");
pila=Teclado.readInt();
if(pila > 4)
{
opc = 5;
System.out.print("\n Fuera de rango...");
}
else
{
mp.PrimElemento(pila-1);
}
break;
case 5: System.out.print("\n Seleccione Pila: ");
pila=Teclado.readInt();
if(pila > 4)
{
opc = 5;
System.out.print("\n Fuera de rango...");
}
else
{
mp.UltElemento(pila-1);
}
break;
default:System.out.print("\n\n¡¡¡¡ G O O D B Y E !!!!");
}
}
while(opc<=5);
}
}
//--Multiple Pilas
//--Luis Alberto Ochoa Bernal
class Multi_Pilas
{
int U[];
int P[];
int tam=20;
int tamPila=4;
int MultiPila[];
//Constructor
//------------------------------------------------------------------
Multi_Pilas()
{
P=new int [tamPila];
U=new int [tamPila];
MultiPila=new int[tam];
for(int i=0; i<tamPila; i++)
{
P[i]= tamPila*(i+1);
U[i]= (tamPila*(i)+1)-1;
}
}
// Metodo para insertar un elemento
//-----------------------------------------------------------------
public void Push_Insertar(int i)
{
if(!pilaLlena(i))
{
if(P[i]==(tamPila*(i+1)))
{
U[i]=U[i]+1;
P[i]=P[i]+1;
System.out.print("\nDame el nuevo :");
int nuevo=Teclado.readInt();
U[i]=nuevo;
}
else
{
int pos=(tamPila*(i)+1)-1;
System.out.print("\nDame el nuevo :");
int nuevo=Teclado.readInt();
U[i]=pos;
MultiPila[U[i]]=nuevo;
}
}
else
{
System.out.print("\n ¡¡¡ No hay espacio !!!");
}
}
//Metodo para eliminar un elemento
//-----------------------------------------------------------------
public void Pop_Eliminar(int i)
{
int dato;
if(!pilaVacia(i))
{
dato=MultiPila[U[i]];
U[i]--;
}
else
{
System.out.print("\n\n ¡¡¡ Pila Vacia !!!");
}
}
//Metodo para saber si esta Llena
//-----------------------------------------------------------------
public boolean pilaLlena(int i)
{
boolean resp;
int maxCola=tam*(i+1)-1;
if(((P[i]==tamPila*(i)) && (U[i]==maxCola)) || (U[i]==P[i]-1))
{
resp=true;
}
else
{
resp=false;
}
return(resp);
}
//Metodo para ver si esta Vacia
//-----------------------------------------------------------------
public boolean pilaVacia(int i)
{
boolean resp;
if((P[i]==tamPila*(i)-1)&&(U[i]==tamPila*(i)-1))
{
resp=true;
}
else
{
resp=false;
}
return(resp);
}
//Metodo para mostrar el ultimo elemento
//-----------------------------------------------------------------
public void UltElemento(int i)
{
if(!pilaVacia(i))
{
int u=MultiPila[U[i]];
System.out.print("\n\nUltimo elemento---> "+u);
}
else
{
System.out.print("\n\n ¡¡¡ Pila vacia !!!");
}
}
//Metodo para mostrar Primer elemento
//-----------------------------------------------------------------
public void PrimElemento(int i)
{
if(!pilaVacia(i))
{
int p=MultiPila[P[i]];
System.out.print("\n\nPrimer elemento---> "+p);
}
else
{
System.out.print("\n\n ¡¡¡ Pila vacia !!!");
}
}
//Metodo para mostrar todos Los Elementos
//-----------------------------------------------------------------
public void ImpElementos(int i)
{
if(!pilaVacia(i))
{
for(int j=P[i]; j<=U[i]; j++)
{
System.out.print("\n\nDatos de la Pila---> "+MultiPila[j]);
}
}
else
{
System.out.print("\n\n ¡¡¡ Pila vacia !!!");
}
}
//-----------------------------------------------------------------
}
/** Programa que dice si un numero ingresado es Cuadrado Perfecto Autor: **/ class CuadPerF { public static void main(String arr[]) { int num; double sum,r; System.out.print("\n Ingrese Numero:"); num = Teclado.readInt(); sum = Math.sqrt(num); r = sum; if(r%2 ==0) { ...
Comentarios
Publicar un comentario