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

W tym programie nauczysz się sortować słowa elementów w porządku leksykograficznym za pomocą pętli for, a jeśli jeszcze, w Kotlinie.

Przykład: Program do sortowania ciągów znaków w porządku słownikowym

 fun main(args: Array) ( val words = arrayOf("Ruby", "C", "Python", "Java") for (i in 0… 2) ( for (j in i + 1… 3) ( if (words(i).compareTo(words(j))> 0) ( // swap words(i) with words(j( val temp = words(i) words(i) = words(j) words(j) = temp ) ) ) println("In lexicographical order:") for (i in 0… 3) ( println(words(i)) ) )

Po uruchomieniu programu wynik będzie następujący:

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

Oto odpowiednik kodu w Javie: Program w języku Java do sortowania słów w porządku leksykograficznym

Interesujące artykuły...