tengo problemas con la siguente funcion.
la funcion tiene que ordenar de forma ascendente o descendentes y no me ardena.
la funcion tiene que ordenar de forma ascendente o descendentes y no me ardena.
Código (c) [Seleccionar]
void agregar_nodo(nodo_t**p,char *ruta)
{
char*pal=(char*)malloc(strlen(ruta));
nodo_t*nuevo;
nodo_t*actual;
nodo_t*anterior;
strcpy(pal,ruta);
nuevo=(nodo_t*)malloc(sizeof(nodo_t));
nuevo->filename=pal;
nuevo->sig=NULL;
if(*p==NULL)
{
*p=nuevo;
}
else
{
actual=*p;
anterior=NULL;
while((actual!=NULL)&&(ruta>actual->filename))
{
anterior=actual;
actual=actual->sig;
}
if(anterior==NULL)
{
nuevo->sig=*p;
*p=nuevo;
}
else
{
anterior->sig=nuevo;
nuevo->sig=actual;
}
}
}