В этой программе вы научитесь сортировать слова элемента в лексикографическом порядке, используя цикл for и if else в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Java для цикла
- Заявление Java if… else
- Строка 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 слов для сортировки хранится в переменной words.
Затем мы перебираем каждое слово (слова (i)) и сравниваем его со всеми словами (слова (j)) после него в массиве. Это делается с помощью строкового метода compareTo ().
Если возвращаемое значение compareTo () больше 0, его нужно поменять местами, т.е. слова (i) идут после слов (j). Итак, на каждой итерации слова (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" ) |