Tässä ohjelmassa opit lajittelemaan elementtisanat leksikografisessa järjestyksessä for for -silmukalla ja jos muualla Javalla.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:
- Java silmukalle
- Java jos… muuten lausunto
- Java-merkkijono
Esimerkki: Ohjelma merkkijonojen lajittelemiseksi sanakirjajärjestyksessä
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)); ) ) )
Tuotos
Leksikografisessa järjestyksessä: C Java Python Ruby
Yllä olevassa ohjelmassa 5 lajiteltavan sanan luettelo tallennetaan muuttujaan, sanoihin.
Sitten, silmukka läpi jokaisen sanan (sanat (i)) ja vertaa sitä kaikkiin sanoihin (sanat (j)) sen jälkeen taulukossa. Tämä tehdään merkkijonon vertailumenetelmällä ().
Jos vertailun () paluuarvo on suurempi kuin 0, se on vaihdettava sijaintiinsa, ts. Sanat (i) tulevat sanojen (j) jälkeen. Joten sanat (i) sisältävät jokaisessa iteraatiossa aikaisimman sanan.
SuoritusvaiheetToisto | Alkusanat | i | j | sanat() |
---|---|---|---|---|
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" ) |
Lopullinen | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |