cambie el código, el anterior no ordenaba nada ese era el problema, pero creo que este debería funcionar... aunque no xD
void Lista::Ordenar ( )
{ Nodo *pNodo, *pAux, *pNuevo;
pNodo=this->head;
pAux=pNodo->GetNext();
while(pNodo)
{
while(strcmp(pNodo->GetValue( ), pAux->GetValue( ))<0)
{
pNodo=pNodo->GetNext();
pAux=pAux->GetNext();
}
pNuevo=pNodo->GetPrev();
pNuevo->SetNext(pAux);
pNodo->SetNext(pAux->GetNext());
pAux->SetNext(pNodo);
if(pNodo->GetNext())
{
pNodo=this->head;
pAux=pNodo->GetNext();
}
}
}
get prev -> retorna el nodo anterior
get next -> retorna el nodo siguiente