Съдържание:

Преминаване през свързан списък с помощта на рекурсия - Java: 12 стъпки
Преминаване през свързан списък с помощта на рекурсия - Java: 12 стъпки

Видео: Преминаване през свързан списък с помощта на рекурсия - Java: 12 стъпки

Видео: Преминаване през свързан списък с помощта на рекурсия - Java: 12 стъпки
Видео: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Ноември
Anonim
Преминете през свързан списък с помощта на рекурсия - Java
Преминете през свързан списък с помощта на рекурсия - Java

Добре дошли и благодаря, че избрахте този набор от инструкции, който ще ви покаже как да създадете рекурсивна функция. Необходими са основни познания по java, за да се разберат стъпките, които ще бъдат изпълнени.

Като цяло този процес от 12 стъпки не трябва да отнема повече от 15 минути. Единствената стъпка, която може да отнеме повече от една минута, е стъпка 4, която моли потребителя да създаде примерен тест, който да изпълни. Времето за използване зависи от потребителя, но бих изчислил, че това ще отнеме не повече от 3 минути.

Какво ще ви трябва на вашия компютър: Моят файл за тестване (към който ще добавим код). Всяка java IDE по ваш избор (ще използваме drjava за това).

Стъпка 1: Първа стъпка: Отворете вашата Java IDE по избор

Първа стъпка: Отворете вашата Java IDE по избор
Първа стъпка: Отворете вашата Java IDE по избор

За този набор от инструкции се използва drjava. Просто отворете нов свеж файл.

Стъпка 2: Стъпка втора: Изтеглете и отворете моя.txt файл

Този текст съдържа класа „Node“, с който ще работим, както и някои тестове, за да сме сигурни, че кодът, който пишем, работи по предназначение. Изтеглете от тук

Стъпка 3: Стъпка трета: Копирайте и поставете от.txt файл в IDE

Стъпка трета: Копирайте и поставете от.txt файл в IDE
Стъпка трета: Копирайте и поставете от.txt файл в IDE

Копирайте текста от моя файл и го поставете в java IDE, който сте отворили.

Стъпка 4: Стъпка четвърта: Създайте тест

Стъпка четвърта: Създайте тест
Стъпка четвърта: Създайте тест

Това ще провери дали нашата рекурсивна функция работи правилно. Следвайте формата на дадените примерни тестове.

Стъпка 5: Стъпка пета: Създайте рекурсивна функция

Стъпка пета: Създайте рекурсивна функция
Стъпка пета: Създайте рекурсивна функция

Когато бъдете подканени, въведете следното:

публичен размер на int () {}

Стъпка 6: Стъпка шеста: Създайте рекурсивна помощна функция

Стъпка шеста: Създайте рекурсивна помощна функция
Стъпка шеста: Създайте рекурсивна помощна функция

Когато бъдете подканени, въведете следното:

публичен статичен int размер H (възел x) {}

Стъпка 7: Стъпка седма: Извикайте помощната функция в основната рекурсивна функция

Стъпка седма: Извикайте помощната функция в основната рекурсивна функция
Стъпка седма: Извикайте помощната функция в основната рекурсивна функция

Това ще накара нашата функция да премине през свързания списък от самото начало.

В първата от функциите, които написахме, въведете следното:

размер на връщането H (първи);

Стъпка 8: Стъпка осма: Създайте основен случай за помощна функция

Стъпка осма: Създайте основен случай за помощна функция
Стъпка осма: Създайте основен случай за помощна функция

Всяка рекурсивна функция трябва да има начин да я прекрати. „Основният случай“ще ни накара да спрем да се движим, след като стигнем до края на списъка.

Във функцията "помощник" въведете следното:

if (x == null) връща 0;

Стъпка 9: Стъпка девета: Добавете „+1“и отново извикайте помощната функция

Стъпка девета: Добавете „+1“и отново извикайте помощната функция
Стъпка девета: Добавете „+1“и отново извикайте помощната функция

Добавяме по един за всеки възел, който посещава рекурсивната функция.

Във функцията "помощник" въведете следното:

връщане 1 + sizeH (x.next);

Стъпка 10: Стъпка десета: Компилирайте / запишете кода си

Кодът трябва да бъде компилиран, преди да можем да стартираме програмата.

Стъпка 11: Стъпка единадесета: Стартирайте програмата

Стартирайте програмата си! Какво беше изведено? Ако нещо се обърка, погледнете назад и вижте дали сте въвели кода точно и на правилното място.

Стъпка 12: Стъпка дванадесета: Поздравления

Дванадесета стъпка: Поздравления!
Дванадесета стъпка: Поздравления!

Ако това е вашият краен изход, официално сте написали рекурсивна функция, която итерира през свързан списък.

Препоръчано: