Program Java do sortowania elementów w porządku leksykograficznym (kolejność w słowniku)

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 wykonania
Iteracja 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" )

Interesujące artykuły...