tema
Ideas de algoritmos e implementación de código.
Ideas de algoritmos
Cuando se opera en una lista vinculada, una técnica común es agregar un nodo ficticio cuyo siguiente puntero apunte al nodo principal de la lista vinculada. De esta manera, no necesitamos hacer juicios especiales sobre el nodo principal.
Por ejemplo, en esta pregunta, si queremos eliminar el nodo y, necesitamos conocer el nodo predecesor x del nodo y y apuntar el puntero de x al nodo sucesor de y. Sin embargo, dado que el nodo principal no tiene un nodo predecesor, debemos tomar decisiones especiales al eliminar el nodo principal. Pero si agregamos un nodo tonto, entonces el nodo predecesor del nodo principal es el nodo tonto en sí. En este momento, solo necesitamos considerar la situación general.
En particular, en algunos idiomas, la memoria debe ser administrada por sí misma. Por lo tanto, en la entrevista real, debemos comunicarnos activamente con el entrevistador para llegar a un acuerdo sobre la cuestión de "si es necesario liberar el espacio correspondiente al nodo eliminado". El siguiente código no libera espacio de forma predeterminada.
Código
#<