Header representa el estado actual de una rata trabajadora.
Cuando una rata inicia, Header = TuPrimerTrabajo.com
Método de inserción: Solo podemos insertar elementos de las clases: TrabajoDuro o MejorSalario y de forma alternada:
Elemento = new TrabajoDuro() ó
Elemento = new MejorSalario()
int insert
{
Header ->Next = Elemento; //Inicio de la lista
Elemento -> Next = Header; //Fin de la lista, enlace circular
return 1;
}
Notemos que en esta situación, el paso de un elemento a otro, trae consigo una “ganancia", o sea que al dar la vuelta, todo en la lista se ve amplificado, además la lista solo puede ser "crescente", solo vamos insertando elementos en ella.
Método de borrado:int Borrar (Elemento IndiceElemento)
{
if (Elemento != null) {
IndiceElemento.ImprimirMensaje("Imposible hacer Ctrl+Z en la vida real!")
return 1; // Error
}
else
{
return 0;
}
}
El grave problema de la carrera de ratas, viene cuando se pierde el apuntador a Next de cualquiera de los elementos del "TrabajoDuro", ejemplo:
Header -> Next = TrabajoDuro
TrabajoDuro -> Next = NULL
O que tal, si lo que perdemos es el apuntador a Next de un elemento de MejorSalario:
Header -> Next = TrabajoDuro
TrabajoDuro -> Next = MejorSalario
MejorSalario -> Next = NULL
Esto significa que aunque tengamos mejor salario, ya no habrá más trabajo duro y por consiguiente aún mejor salario, esto es, estancamiento. Además, debido a que nuestro espectro de habilidades es muy reducido, no tenemos muchas posibilidades de un “brand new job”.
Por último quiero recomendar éste video, muy divertido y explicativo.
http://www.youtube.com/watch?v=X4OPFl2Kxhs
Well, happy working' and businessin'!
Blog you around!


0 comentarios:
Publicar un comentario en la entrada