Sarò stupido ma non lo capisco...
codice:
void ordine(struct elemento *p)
{
     int valore;
     struct elemento *aux,*temp;
     aux=p;
     while(aux->succ!=NULL){
                            temp=aux;
                            while(temp->succ!=NULL){
                                                    if(temp>temp->succ){
                                                                        valore=temp;
                                                                        temp=temp->val;
                                                                        temp->val=valore;
                                                                        temp=temp->succ;
                                                                        }
                                                    }
                            aux=aux->succ;
                           }