Доброго времени суток 🖖
Скажите пожалуйста где ошибка в этой части кода? Данный вариант сортировки не сработал в отличии от варианта через два цикла FOR.
public static void sort(String[] array) {
String temp = null;
boolean sorted = false;
while(!sorted){
sorted = true;
for(int i = 0; i<array.length-1; i++){
if(isGreaterThan(array[i],array[i+1] ))
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
sorted = false;
}
}
Дмитрий Секида
10 уровень
Где ошибка?
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
TaurnilTechnical Lead в ООО "Теком"
28 апреля 2023, 22:15
Да уж, без пол-литра не разберешься XD
Вижу я несколько ошибок у тебя:
- булева переменная sorted в цикле for на каждый такт принимает значение false. По условию цикла while это будет продолжаться примерно всегда;
- в условном операторе if не хватает тела - фигурных скобок. Именно поэтому цикл while будет вечным;
- неизвестна реализация метода isGreaterThan(array[String] a, array[String] b);
выложи весь код задачи в читаемом виде
0
Алексей Михайлов
28 апреля 2023, 22:02
и ещё твой if распространяется только на следующую строку
чтобы отработал весь код его нужно взять в фигурные скобки
0
Алексей Михайлов
28 апреля 2023, 21:54
где реализация методa ?
0