Un algoritmo que hice para ordenar una pila de enteros (Stack) solo con los metodos apilar, desapilar, cima y esVacia
public void ordenar()
{
PilaBasica pAux = new PilaBasica();
int index = 0;
while( index < length() )
{
int menor = cima();
int jj = length();
while( jj > index )
{
if( cima() <= menor )
{
menor = cima();
}
pAux.agregar( cima() );
quitar();
jj--;
}
agregar( menor );
// tiro todo lo demas arriba
while( !pAux.esVacia() )
{
if( pAux.cima() != menor )
{
agregar( pAux.cima() );
pAux.quitar();
}
else
pAux.quitar();
}
index++;
}
}
{
PilaBasica pAux = new PilaBasica();
int index = 0;
while( index < length() )
{
int menor = cima();
int jj = length();
while( jj > index )
{
if( cima() <= menor )
{
menor = cima();
}
pAux.agregar( cima() );
quitar();
jj--;
}
agregar( menor );
// tiro todo lo demas arriba
while( !pAux.esVacia() )
{
if( pAux.cima() != menor )
{
agregar( pAux.cima() );
pAux.quitar();
}
else
pAux.quitar();
}
index++;
}
}
Comentarios
Publicar un comentario