W tym programie nauczysz się sortować słowa elementów w porządku leksykograficznym za pomocą pętli for, a jeśli jeszcze, w Javie.
Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:
- Java for Loop
- Instrukcja Java if… else
- Ciąg Java
Przykład: Program do sortowania ciągów znaków w porządku słownikowym
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)); ) ) )
Wynik
W porządku leksykograficznym: C Java Python Ruby
W powyższym programie lista 5 słów do posortowania jest przechowywana w zmiennej, words.
Następnie przechodzimy przez każde słowo (words (i)) i porównujemy je ze wszystkimi słowami (words (j)) po nim w tablicy. Odbywa się to za pomocą metody compareTo () łańcucha.
Jeśli wartość zwracana przez funkcję compareTo () jest większa niż 0, należy ją zamienić na pozycji, tj. Słowa (i) występują po słowach (j). Zatem w każdej iteracji wyrazy (i) zawierają najwcześniejsze słowo.
Kroki wykonaniaIteracja | Pierwsze słowa | ja | jot | słowa() |
---|---|---|---|---|
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" ) |
Finał | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |