V tomto programe sa naučíte triediť slová prvkov v lexikografickom poradí pomocou slučky for a ak ešte v Jave.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Java pre slučku
- Vyhlásenie Java, ak … else
- Java String
Príklad: Program na triedenie reťazcov v poradí slovníkov
public class Sort ( public static void main(String() args) ( String() words = ( "Ruby", "C", "Python", "Java" ); for(int i = 0; i < 3; ++i) ( for (int j = i + 1; j 0) ( // swap words(i) with words(j( String temp = words(i); words(i) = words(j); words(j) = temp; ) ) ) System.out.println("In lexicographical order:"); for(int i = 0; i < 4; i++) ( System.out.println(words(i)); ) ) )
Výkon
V lexikografickom poradí: C Java Python Ruby
Vo vyššie uvedenom programe je zoznam 5 slov, ktoré sa majú zoradiť, uložený v premennej slová.
Potom prechádzame každé slovo (slová (i)) a porovnávame ho so všetkými slovami (slová (j)) za ním v poli. To sa deje pomocou metódy porovnania reťazca () reťazca.
Ak je návratová hodnota porovnania () väčšia ako 0, musí sa vymeniť na pozícii, to znamená, že za slovami (j) nasledujú slová (i). Takže v každej iterácii obsahuje slovo (i) najskoršie slovo.
Kroky vykonaniaIterácia | Počiatočné slová | i | j | slová () |
---|---|---|---|---|
1 | ( "Ruby", "C", "Python", "Java" ) | 0 | 1 | ( "C", "Ruby", "Python", "Java" ) |
2 | ( "C", "Ruby", "Python", "Java" ) | 0 | 2 | ( "C", "Ruby", "Python", "Java" ) |
3 | ( "C", "Ruby", "Python", "Java" ) | 0 | 3 | ( "C", "Ruby", "Python", "Java" ) |
4 | ( "C", "Ruby", "Python", "Java" ) | 1 | 2 | ( "C", "Python", "Ruby", "Java" ) |
5 | ( "C", "Python", "Ruby", "Java" ) | 1 | 3 | ( "C", "Java", "Ruby", "Python" ) |
Konečný | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |