ho risolto!

bastava aggiungere questo pezzo di codice che la prima volta non aveva funzionato

codice:
 
 temp = davanti[i + 1];
 davanti[i + 1] = davanti[j + 1];
 davanti[j + 1] = temp;
con temp dichiarata

codice:
Ele *temp;
Spero possa servire a qualcun'altro.