Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 01.05.2019
Сообщений: 17

Как работает рекурсия?

01.05.2019, 09:30. Показов 2661. Ответов 4

Студворк — интернет-сервис помощи студентам
Написал недавно метод, когда писал всё так было просто и понятно, сейчас просматриваю, и вот хоть убей не пойму как он проверяет условие упорядоченности по убыванию)))
Может кто написать каким образом это происходит? Уже и дебагером по нему прошёлся, и такое ощущение, что он проверяет только первую строчку матрицы, попробовал поиграть с остальными, нет их тоже отрабатывает, но КАК?))))
И самое обидное, что реально написал сам, и когда писал, всё понимал)))

Java
1
2
3
4
5
6
7
8
9
10
11
  //Возвращает true, если все строки двумерного массива matrix строго упорядочены по убыванию, иначе false. 
  // Пустая строка считается упорядоченной. Разные строки массива matrix могут иметь разное количество элементов. 
  public boolean isSortedDescendant(int[][] matrix) {
    int i;
    for (i = 0; i < matrix.length; i++) {
      if (!isSortedDescendant(matrix[i])) {
        break;
      }
    }
    return i == matrix.length;
  }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2019, 09:30
Ответы с готовыми решениями:

Объясните, как здесь работает рекурсия
Объясните как работает рекурсивный метод в данном коде class BWDemo { /** * @param args */ public static void...

Как работает рекурсия?
Я не понял алгоритм работы рекурсии. Объясните пожалуйста, если можно, с примерами

Как работает рекурсия?
Доброго времени суток. Никогда не любил рекурсию, просто видимо недопонимая ее, но в лиспе, увы нет операторов цикла и приходится...

4
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
01.05.2019, 10:18
Либо я дурак, либо этот метод вообще не должен работать. В объявлении написано, что он должен принимать двумерный массив, но в цикле вы ему при первом вызове передаёте одномерный массив, а впоследствии и просто значение int
1
0 / 0 / 0
Регистрация: 01.05.2019
Сообщений: 17
01.05.2019, 11:08  [ТС]
Всё, я вспомнил, прошу прощения, я этот метод перегружал, выше нашёл ещё один который там и используется!
И это не рекурсия!))

Java
1
2
3
4
5
6
7
8
9
10
11
  //Возвращает true, если одномерный массив array строго упорядочен по убыванию, иначе false.
  // Пустой одномерный массив считается упорядоченным.
public boolean isSortedDescendant(int[] array) {
    int i;
    for ( i = 1; i < array.length; i++) {
      if (array[i] >= array[i - 1]){
        break;
      }
    }
    return array.length == i || array.length ==0;
  }
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
01.05.2019, 11:17
Лучший ответ Сообщение было отмечено farGoPrime как решение

Решение

farGoPrime, В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная или косвенная рекурсия), например, функция A вызывает функцию B, а функция B — функцию A.

Wiki

Добавлено через 2 минуты
то есть нет, это не рекурсия
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.05.2019, 00:05
Тут важно понимать, что функция (а если в Java, то метод) не вызывает сам себя а новую копию самой себя.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2019, 00:05
Помогаю со студенческими работами здесь

Как работает рекурсия
Уважаемые друзья! Есть программа из учебника Стивена Прата &quot;Язык программирования С...&quot; перевод числа из десятичной системы...

Как работает рекурсия?
Помогите разобраться, не понимаю до конца как работает рекурсия в связке с субстринг... Вопрос: Почему при условии if (str.Length &gt;...

Как работает рекурсия?
Ребята! Вот дошёл до темы рекурсия, и вроде тему из школы роходили, но смотрю на программу, и что-то не могу понять вот эту строку: ...

Как работает рекурсия?
Здравствуйте! Темы указателей и рекурсии оказались очень сложными для самостоятельного изучения. Объясните, пожалуйста, с примерами: ...

Рекурсия, как работает ?
Помогите пожалуйста, никак не могу понять как работает рекурсия, если не сложно то продемонстрируйте пожалуйста на каком то легком примере...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru