Quote Originariamente inviata da rogerrafae Visualizza il messaggio
salve, come da titolo sto cercando di costruire un algoritmo che mi permetta di ordinare un array di stringhe in modo alfabetico.
Io avevo in mente di usare il 'selction sort', ma non ho proprio idea di cosa mettere nell'if.
Vorrei anche utilizzare solo 'java.util.Scanner'.
voi avete qualche idea?
Premessa: tutti gli algoritmi di ordinamento che sono dei Comparison sort, vanno a fare tanti confronti tra coppie di elementi. Quali coppie, con quale sequenza e logica, dipende appunto dall'algoritmo.
Il Selection Sort, come altri, arriva ad un punto in cui confronta due elementi. Visto che parli di String, parli di oggetti e su di essi non si possono usare < > <= >=, si devono usare dei metodi. E in Java la astrazione principale per la comparazione degli oggetti è la interfaccia Comparable (oltre a Comparator). String è Comparable, quindi ha il compareTo(String).

Pertanto se str1.compareTo(str2) dà minore di 0, allora significa: str1 minore di str2
Cosa si fa in base a questo risultato, dipende dall'algoritmo ma tipicamente si scambiano i due elementi.


P.S. Se vuoi implementare un algoritmo di ordinamento è tipicamente per motivi puramente "didattici". Altrimenti si usano i sort già implementati nel framework standard.