dovresti precisare se la tua richiesta è relativa al C o al C++.
Suppongo che si tratti di C, una soluzione possibile è quella di utilizzare la funzione di libreria qsort .
Non so la tua conoscenza del C, l'utilizzo di questa funzione presuppone la conoscenza dei puntatori e dei puntatari a funzione.
Il prototipo della funzione è
codice:
#include <stdlib.h>
void qsort(void *base, size_t nmemb, size_t size,
int(*compar)(const void *, const void *));
e la trovi descritta in rete o su qualunque libro di testo del C.
La funzione di comparazione riceverà, nel tuo caso, come argomento due puntatori alla tua struttura, e sarà del tipo
codice:
static int
cmpsquadre (const void *p1, const void *p2)
{
squadra *s1 = ( squadra * ) p1;
squadra *s2 = ( squadra * ) p2;
return strcmp( s1->nome, s2->nome );
}
la chiamata alla funzione risulterà
codice:
squadra squadre [ numero_squadre ];
....
....
qsort(&squadre[0], num_squadre, sizeof( squadra *), cmpsquadre);
ho fatto tutto a mente, può esserci qualche imprecisione
ciao
sergio