Ebben a programban megtanulja, hogy az elemi szavakat lexikográfiai sorrendben rendezze-e a for ciklus, és ha másképp a Java-ban.
A példa megértéséhez ismernie kell a következő Java programozási témákat:
- Java a hurokhoz
- Java if… else nyilatkozat
- Java karakterlánc
Példa: Szövegek rendezése szótári sorrendben
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)); ) ) )
Kimenet
Lexikográfiai sorrendben: C Java Python Ruby
A fenti programban az 5 rendezni kívánt szó listáját egy változó, a szavak tárolják.
Ezután végignézzük az egyes szavakat (szavak (i)), és összehasonlítjuk az összes szóval (j) szavakkal a tömbben. Ez a karakterlánc összehasonlító () metódusával történik.
Ha az vertaTo () visszatérési értéke nagyobb, mint 0, akkor azt fel kell cserélni a helyzetbe, vagyis az (i) szavak a (j) szavak után következnek. Tehát minden iterációban az (i) szavak tartalmazzák a legkorábbi szót.
Végrehajtási lépésekIsmétlés | Kezdő szavak | én | j | szavak() |
---|---|---|---|---|
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" ) |
Végső | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |