Обработка равных элементов
На предыдущих этапах мы сравнивали два числа и проверяли, находятся ли они в порядке возрастания или убывания. Мы также предусмотрели случай, когда числа равны. На этом этапе мы сосредоточимся именно на обработке сценария, когда соседние элементы одинаковы.
При сортировке порядок равных элементов обычно не имеет значения для итогового отсортированного результата, но важно, чтобы наша логика сравнения правильно определяла этот случай. Наша текущая программа CheckOrder.java
уже обрабатывает этот случай с помощью блока else
. Давайте явно протестируем этот случай.
-
Откройте файл CheckOrder.java
в редакторе WebIDE.
-
Измените значения number1
и number2
так, чтобы они были равны:
public class CheckOrder {
public static void main(String[] args) {
int number1 = 7; // Changed to 7
int number2 = 7; // Changed to 7
System.out.println("Checking order of " + number1 + " and " + number2 + ":");
if (number1 < number2) {
System.out.println("The numbers are in ascending order.");
} else if (number1 > number2) {
System.out.println("The numbers are in descending order.");
} else {
System.out.println("The numbers are equal.");
}
}
}
-
Сохраните файл (Ctrl+S или Cmd+S).
-
В терминале убедитесь, что вы находитесь в директории ~/project
:
cd ~/project
-
Скомпилируйте измененную программу:
javac CheckOrder.java
Отсутствие вывода означает успешную компиляцию.
-
Запустите программу:
java CheckOrder
При установке обоих чисел равными 7 вывод должен быть следующим:
Checking order of 7 and 7:
The numbers are equal.
Это подтверждает, что наша программа правильно определяет, когда два соседних числа равны. Обработка этого случая важна для полноты нашей логики сравнения.
В контексте алгоритмов сортировки, когда соседние элементы равны, они уже находятся в допустимом относительном порядке (как возрастание, так и убывание могут быть считаны как истинные в зависимости от строгости, но обычно они просто считаются "равными", и не требуется обмена элементов).
Теперь вы успешно протестировали случай, когда соседние элементы равны, завершив наше исследование сравнения двух соседних чисел для целей сортировки.