Io farei in questo modo:

- Crei una nuova lista ma stavolta oltre al campo stringa, metti anche un contatore.

- Crei un nuovo elemento (e) settando a zero i due campi.

- Ordini la lista delle tue stringhe.


- Scorri la lista ordinata, se il valore della stringa corrente è diverso da quello del elemento nuovo (e, che al inizio sarà NULL) inserisci la stringa e ne crei uno in sucessione.
Altrimenti vai avanti finchè non trovi una stringa diversa da quella di (e), incrementando ogni volta il contatore.

- Vai avanti così finchè non hai finito tutta la lista.

- In questo modo avrai una lista contenente di cui ogni elemento contiene una stringa, e quante volte esse si ripete.

- Ordini la nuova lista.

- La stampi.

bye