У цій програмі ви навчитеся сортувати слова-елементи в лексикографічному порядку за допомогою циклу for та, якщо ще, в Java.
Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:
- Java для циклу
- Заява про Java, якщо … ще
- Рядок Java
Приклад: Програма для сортування рядків у порядку словників
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)); ) ) )
Вихідні дані
У лексикографічному порядку: C Java Python Ruby
У наведеній вище програмі список з 5 сортуваних слів зберігається у змінній слова.
Потім ми прокручуємо кожне слово (слова (i)) і порівнюємо його з усіма словами (словами (j)) після нього в масиві. Це робиться за допомогою рядкового методу compareTo ().
Якщо повернене значення compareTo () більше 0, його потрібно поміняти місцями, тобто слова (i) стають після слів (j). Отже, у кожній ітерації слова (i) містять найдавніше слово.
Етапи виконанняІтерація | Початкові слова | i | j | слова () |
---|---|---|---|---|
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" ) |
Остаточний | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |