Hola visto este codigo para insertar nodos ordenadamente en una lista cerrada
void Insertar (Lista *lista, int v)
{
pNodo nuevo, anterior;
nuevo = new tipoNodo;
nuevo->valor = v;
if(ListaVacia(*lista) || (*lista)->valor > v)
{
nuevo->siguiente = *lista; //nuevo->siguiente= lo q apunta lista.
*lista = nuevo; //aca cambias el valor de lista.
}
else
{
anterior = *lista; //anterior = lo q apunta lista.
//Aca esta mi duda que condicion se cumple en anterior->siguiente
while(anterior->siguiente && anterior->siguiente->valor <= v)
{
anterior = anterior->siguiente;
}
nuevo->siguiente = anterior->siguiente;
anterior->siguiente = nuevo;
}
}
Mi duda es en el while. Que condicion se cumple en la siguiente linea?
while(anterior->siguiente && ...
Una se que es que verifica que el valor del nodo sea menor igual al valor enviado
pero con anterior->siguiente que?? Gracias